Skip to content
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

Support permessage-deflate extension #409

Merged
merged 3 commits into from
Dec 5, 2014

Conversation

nkzawa
Copy link
Contributor

@nkzawa nkzawa commented Dec 3, 2014

This PR adds the permessage-deflate extension support to the module including the following features:

  • Extension parameters (widow bits, no context takeover for both client and server)
  • Configurations of extension parameters and memLevel (zlib)
  • Enable extension by default
  • All test cases of Autobahn Testsuite pass including WebSocket Compression

Things not included in the PR:

  • x-webkit-frame-deflate (which Safari supports)
  • Comprehensive architecture to add extensions flexibly

If these features also are required, I'm ready to add them.

Related: #34, socketio/socket.io#1148

@3rd-Eden
Copy link
Member

3rd-Eden commented Dec 3, 2014

woaaaaahhh @_@

@3rd-Eden
Copy link
Member

3rd-Eden commented Dec 3, 2014

@nkzawa I see that it fails on node 0.8 but overall the code looks good and I have no problem merging this and bumping ws to 0.6.

@andrewrk
Copy link

andrewrk commented Dec 3, 2014

Wow, nice work. You beat me to it.

@nkzawa
Copy link
Contributor Author

nkzawa commented Dec 4, 2014

@3rd-Eden Thank you for reviewing. I will fix failing tests ASAP.

@rauchg
Copy link
Contributor

rauchg commented Dec 4, 2014

<3 @nkzawa

@nkzawa
Copy link
Contributor Author

nkzawa commented Dec 5, 2014

@3rd-Eden Fixed. Please check again.

3rd-Eden added a commit that referenced this pull request Dec 5, 2014
@3rd-Eden 3rd-Eden merged commit 1ae3d8e into websockets:master Dec 5, 2014
@3rd-Eden
Copy link
Member

3rd-Eden commented Dec 5, 2014

Thanks <3 -- Releasing as 0.6

@3rd-Eden
Copy link
Member

3rd-Eden commented Dec 6, 2014

The implementation seems to be really unstable, it's causing primus's test suite to fail and people have been reporting bugs of thrown errors as well: primus/primus#319 I'm going to release a 0.6.1 which disables permessagedeflate by default.

@nkzawa
Copy link
Contributor Author

nkzawa commented Dec 6, 2014

Ah, I'm sorry. I will tackle the problem.

@dscherger
Copy link

@nkzawa Is there any intention or plan to add support for x-webkit-deflate-frame even though it's deprecated, it would be nice for this to work with safari on ios and osx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants