Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The logic introduced to fix issue #39 does a very basic string check. Because only the exact
text/xml
andapplication/xml
strings are considered valid, when theContent-Type
header contains values such astext/xml; charset=UTF-8
orapplication/xml; charset=UTF-8
, we get an error.Another problem is that there are other XML MIME types besides those two.
If we do a quick search here, we can find 400+ MIME types related to XML.
Solution
The mime type check logic has been improved by using a regular expression. The only thing that might take longer to understand in the changes is the regex itself, so here's a brief explanation:
Caveats
The current regular expression isn't strict about what types should go with sub types, which means that non-existent/unofficial MIME types, like
image/dash+xml
ormodel/svg+xml
are considered valid.For the sake of simplicity, I think that's a good trade-off. It also means that when new XML MIME types are added in the future, this logic should require low maintenance, if any.
Task items:
LoadURL()
;