fix(volo-http): add mime parsing in server, do not always prefer ipv4 in client dns #538
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.
Motivation
This PR fixes two bugs
Form
extractor reject mime of form with charsetIn the previous implementation, the
Form
extractor directly comparedContent-Type
and rejected the form ifContent-Type
was notapplication/x-www-form-urlencoded
.But sometimes
Content-Type
could beapplication/x-www-form-urlencoded; charset=utf-8
, which is actually a valid mime for the form, but we incorrectly rejected it.DNS resolver always prefer IPv4 addresses
We use the
hickory_resolver
crate to resolve domain names, but we found that it always prefers IPv4 addresses, which doesn't work if the client is running in an IPv6 only environment.Solution
Content-Type
by parsing instead of directly comparing the string.In addition, we bump Volo-HTTP to 0.3.0 here.