Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
[HttpClient] Add portable HTTP/2 implementation based on Amp's HTTP client #35115
This PR provides an
This could provide a portable implementation of HTTP/2 \o/
/cc @kelunik FYI
The PR is now completed. It passes the full test suite, including the HTTP/2 PUSH tests. I'm pretty much impressed by how well this went.
This means we'll soon have two implementations fully compatible with HTTP/2 \o/
Kudos @kelunik et al.
…-grekas) This PR was merged into the 4.4 branch. Discussion ---------- [HttpClient] fix casting responses to PHP streams | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - This patch is required to properly deal with casting responses to PHP streams. This changes a public method, but we can't expect anyone to override it as it's totally internal. Found when working on (and required by) #35115 Commits ------- 35c08ef [HttpClient] fix casting responses to PHP streams
…PU can deal with (nicolas-grekas) This PR was merged into the 4.3 branch. Discussion ---------- [HttpClient] Don't read from the network faster than the CPU can deal with | Q | A | ------------- | --- | Branch? | 4.3 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - Something I spotted while working on #35115: both the curl and native clients don't play well with heavily compressed HTTP streams: they decompress faster than userland can process chunks. The attached patch moves the decompression logic to the chunk generator. This means internally we only deal with raw compressed chunks, and they are decompressed only when passing the value to userland. Commits ------- ac3d77a [HttpClient] Don't read from the network faster than the CPU can deal with
Reported as amphp/http-client#246
actually, this was not correct.