-
-
Notifications
You must be signed in to change notification settings - Fork 65
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
Implement gzip content encoding #37
Comments
👍 , fully agree on adding this. My main concern is how to do it non-blocking. A child process could be an option unless you know a good way to do it streaming chunk by chunk in future ticks. |
Gzip encoding/decoding should in fact not actually be part of this library. It should be added as a dependency here. I suppose it makes sense to build this on top of PHP's ZLib functions. I've started looking into building a streaming gzip encoder/decoder a while ago but have never been quite happy with its API. Can't promise anything, but I'll try to look into this 👍 |
It should not be part of this library at all but we need to find a way to make it non-blocking so we can use it within this library. A streaming encoder/decoder sounds great and that is something we could use in react/http as well. |
IMO this is a non-issue for two reasons:
This means that using a blocking decompressing algorithm for individual chunks can be considered non-blocking for the purpose of this library :-) (Obviously, this doesn't apply if you're decompressing a multi-megabyte string variable – which does not apply to this library) |
Just for the reference, I've started looking into the available implementation approaches a few weeks ago: clue/reactphp-zlib#1 Using PHP's zlib stream filters works okay-ish. I'm currently working around some of its limitations: |
For the reference again, I've pushed an initial v0.1.0 release of clue/zlib-react a few days ago. This can now be integrated here to offer HTTP compression support ( I hear @WyriHaximus is working on this? 👍 |
Not just working on it, I have a working prototype getting molded into a PR :) |
@WyriHaximus What is the status of your prototype? |
@CharlotteDunois about 3 and a half years old now so no clue. Feel free to build something because it has been ages |
I have to close this one as per #152 now that future development will focus on https://github.com/reactphp/http instead. I've migrated this ticket to reactphp/http#377. |
No description provided.
The text was updated successfully, but these errors were encountered: