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

Permessage-deflate extension #144

Closed
wants to merge 40 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
e93f9a0
Adds initial deflate implementation
SirCipher Sep 4, 2020
b08061a
Updates compression
Sep 8, 2020
1ddb454
Removes autobahn output folders
SirCipher Sep 9, 2020
e24c00d
Fixes compression truncation issue
SirCipher Sep 9, 2020
0127b55
Refactors deflate extension handling
SirCipher Sep 9, 2020
cd49fc2
Updates feature flags
SirCipher Sep 9, 2020
8dccd2f
Adds extension header parameter parsing
SirCipher Sep 10, 2020
d6f4954
Adds client complete permessage-deflate implementation
SirCipher Sep 10, 2020
77ffd34
Integrates permessage-deflate into servers
SirCipher Sep 10, 2020
0d597fa
Fixes failing unit tests
SirCipher Sep 10, 2020
0c8ae53
Tidy up
SirCipher Sep 16, 2020
2be3d31
Feature-gates flate2
Sep 17, 2020
bd170a0
Resolves PR comments
SirCipher Sep 18, 2020
15621a0
Refactors deflate extension
SirCipher Sep 23, 2020
592ee86
Tidy up
SirCipher Sep 23, 2020
941b3f8
Updates autobahn server example
SirCipher Sep 23, 2020
4714182
Resets fragments length after fragment buffer is reset
SirCipher Sep 23, 2020
31b50bf
Adds Default implementation for UncompressedExt
SirCipher Sep 23, 2020
3cf0b83
Adds support for outbound message chunking
SirCipher Sep 23, 2020
2744d1b
Reformat
SirCipher Sep 23, 2020
fcf56c3
Renames ambiguous extension type parameters
SirCipher Sep 23, 2020
710be47
Changes chunk iterator to use field for chunk size
SirCipher Sep 23, 2020
cd43267
Merge pull request #1 from SirCipher/master
SirCipher Sep 24, 2020
42e6fd8
Merge pull request #3 from snapview/master
SirCipher Sep 24, 2020
8b809f7
Merge pull request #2 from SirCipher/chunked
SirCipher Oct 6, 2020
e71f19b
Merge pull request #4 from swimos/chunked
SirCipher Oct 6, 2020
13cfb4d
Refactors extension handling
SirCipher Nov 2, 2020
7795ca1
Refactors extension handling
SirCipher Nov 2, 2020
b658064
Splits client/server max_window_bits
SirCipher Nov 2, 2020
672572e
Splits up websocket frame and extension headers
SirCipher Nov 3, 2020
7795147
Updates request header parsing
SirCipher Nov 4, 2020
fd43b07
Updates documentation
SirCipher Nov 4, 2020
31d05fb
Fixes decompression
SirCipher Nov 5, 2020
e0cadce
Splits client and server deflate config
SirCipher Nov 5, 2020
a282200
Merge branch 'master' of https://github.com/swimos/tungstenite-rs int…
SirCipher Nov 5, 2020
24b7af1
Updates unit tests to check the correct headers
SirCipher Dec 1, 2020
655db5b
Merge remote-tracking branch 'upstream/master' into deflate-merge
SirCipher Dec 1, 2020
21aac8e
Resolves merge issues
SirCipher Dec 1, 2020
2dab651
Updates tests
SirCipher Dec 1, 2020
a7f0702
Tidy up
SirCipher Dec 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
target
Cargo.lock

autobahn/client/*
autobahn/server/*
15 changes: 15 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ edition = "2018"
default = ["tls"]
tls = ["native-tls"]
tls-vendored = ["native-tls", "native-tls/vendored"]
deflate = ["flate2"]

[dependencies]
base64 = "0.13.0"
Expand All @@ -30,10 +31,24 @@ sha-1 = "0.9"
url = "2.1.0"
utf-8 = "0.7.5"

[dependencies.flate2]
optional = true
version = "1.0"
default-features = false
features = ["zlib"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, do we want to rely on zlib? @agalakhov, what do you think?


[dependencies.native-tls]
optional = true
version = "0.2.3"

[dev-dependencies]
env_logger = "0.8.1"
net2 = "0.2.33"

[[example]]
name = "autobahn-client"
required-features = ["deflate"]

[[example]]
name = "autobahn-server"
required-features = ["deflate"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Features
Tungstenite provides a complete implementation of the WebSocket specification.
TLS is supported on all platforms using native-tls.

There is no support for permessage-deflate at the moment. It's planned.
Permessage-deflate.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we can remove this line now ;)


Testing
-------
Expand Down
Loading