HTTP client: Support compression (Content-Encoding: gzip)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start by tracing the HTTP client’s buffered response handling and the withResponseBuffer() path, then compare the streaming approach with clue/reactphp-zlib. Done means opt-in gzip negotiation and decompression work for buffered responses while respecting withResponseBuffer(), with streaming support addressed as specified.
Written by the indexing model from the issue text.
Description
This library should support requesting compressed responses and automatically decompress using the Accept-Encoding request header and Content-Encoding response header.
This should be an opt-in feature.
Implementing this for buffered requests shouldn't be too hard. This should make sure to also respect the withResponseBuffer() setting.
Implementing this for streaming requests is doable, see also https://github.com/clue/reactphp-zlib.
We welcome contributions, reach out if you want to support this project 👍
- Dominant language
- PHP
- Stars
- 781
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from reactphp/http
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 76/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
maintenance
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
new feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
help wanted new feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getgrav/grav-plugin-api#45 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
RSS-Bridge/rss-bridge#5098 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
phingofficial/phing#2025 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
silverstripe/developer-docs#911 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100