-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Poll inner connection until EOF after gzip decoder is complete #2484
Poll inner connection until EOF after gzip decoder is complete #2484
Conversation
…inated and to not rely on implementation details of async-compression
Should I expand the fix on all other decompression methods? |
If they all have the same characteristic, namely that they know they ended before reading EOF, then they probably all suffer from the same thing. |
Should I add tests for all other decompression methods? |
You can. If so, I'd do with a for loop, or some pattern to reduce the duplicate parts. |
Can reqwest deal with such cases (multiple compression algorithms)?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding |
I don't think it can, but not a single person has filed saying they needed it. So I suspect that is more of a theoretical part of the spec, and not something that servers ever actually do. So I wouldn't bother supporting it for now, it'd make things complicated and we don't seem to need it. |
I don't know why it fails style check, |
Some code doesn't get formatted automatically because of conditional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, excellent, excellent work. Thanks so much for cleaning this up! <3
Bumps reqwest from 0.12.9 to 0.12.10. Release notes Sourced from reqwest's releases. v0.12.10 What's Changed Add ClientBuilder::connector_layer() to allow customizing the connector stack. by @jlizen in seanmonstar/reqwest#2496 Add ClientBuilder::http2_max_header_list_size() option by @DSharifi in seanmonstar/reqwest#2465 Fix decompression of chunked bodies so the connections can be reused more often by @Andrey36652 in seanmonstar/reqwest#2484 Fix propagating body size hint (content-length) information when wrapping bodies by @seanmonstar in seanmonstar/reqwest#2503 New Contributors @DSharifi made their first contribution in seanmonstar/reqwest#2465 @gretchenfrage made their first contribution in seanmonstar/reqwest#2464 @hsivonen made their first contribution in seanmonstar/reqwest#2470 @ovnicraft made their first contribution in seanmonstar/reqwest#2469 @Nuhvi made their first contribution in seanmonstar/reqwest#2473 @caojen made their first contribution in seanmonstar/reqwest#2488 @Andrey36652 made their first contribution in seanmonstar/reqwest#2484 @jlizen made their first contribution in seanmonstar/reqwest#2499 Thanks @seanmonstar @nyurik Full Changelog: seanmonstar/[email protected] Changelog Sourced from reqwest's changelog. v0.12.10 Add ClientBuilder::connector_layer() to allow customizing the connector stack. Add ClientBuilder::http2_max_header_list_size() option. Fix propagating body size hint (content-length) information when wrapping bodies. Fix decompression of chunked bodies so the connections can be reused more often. Commits 409cff3 v0.12.10 ea48da7 docs: fix a few spelling issues (#2478) 3ce98b5 fix: propagate Body::size_hint when wrapping bodies (#2503) 44ca5ee remove Clone from connect::Unnameable for now (#2502) 2a7c1b6 feat: allow pluggable tower layers in connector service stack (#2496) 8a2174f chore: in README, update requirements to mention rustls along with vendored o... d36c0f5 perf: fix decoder streams to make pooled connections reusable (#2484) 4367d30 ci: pin hashbrown for msrv job (#2488) e2d4b14 docs: document using non-zero ports in resolved addresses (#2473) 6e21413 chore: fix a number of newer clippy lints (#2469) Additional commits viewable in compare view Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase. Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: @dependabot rebase will rebase this PR @dependabot recreate will recreate this PR, overwriting any edits that have been made to it @dependabot merge will merge this PR after your CI passes on it @dependabot squash and merge will squash and merge this PR after your CI passes on it @dependabot cancel merge will cancel a previously requested merge and block automerging @dependabot reopen will reopen this PR if it is closed @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Fix for #2381