Sebastian Dröge
1ecc4f900d
Use Response for the server handshake callback too
...
And add a public create_response(&Request) function that creates an
initial response. This can be used to simplify integration into existing
HTTP libraries.
5 years ago
Sebastian Dröge
09a9b7ceef
Remove custom Request/Response types from server code
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Sebastian Dröge
9020840f84
Remove custom Request/Response types from client code
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Sebastian Dröge
38a7d1a375
Remove custom Headers type and use http::HeaderMap instead
...
Fixes https://github.com/snapview/tungstenite-rs/issues/92
5 years ago
Danilo Bargen
5f3f4c016e
Fix typo in docs
5 years ago
Daniel Abramov
c291395d3b
Fixes #86
5 years ago
Alexey Galakhov
2903a02ef5
frame: correct possible infinite loop on sending
...
Closes : #83
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
5 years ago
Naja Melan
17fe7987eb
Make use of can_read
5 years ago
Daniel Abramov
b807f76ed1
Update error description
...
Remove the statement which is not valid anymore.
5 years ago
Naja Melan
1ee3f342aa
Consider remote sending a frame after sending a close frame a protocol error.
...
The websocket RFC explicitly states this is not allowed.
5 years ago
Naja Melan
2918eec1b3
No longer accept to send after close
5 years ago
Danny Browning
6369d48579
Fix compilation error without default features
5 years ago
Naja Melan
f818322a25
Add some documentation to WebSocket and Error.
5 years ago
Naja Melan
9379ebe47d
Don't swallow ping/pong while waiting for close acknowledgement
5 years ago
Danny Browning
02684b4946
Try removing unpin
5 years ago
Naja Melan
bf63a71cd1
cleanup unnecessary dereference
5 years ago
Danny Browning
614a5068fa
Tokio-Tungstenite Async Changes
...
Changes required for tokio-tungstenite async implementation.
5 years ago
Naja Melan
28579b567a
Improve WebSocketState interface with Copy, PartialEq, ...
5 years ago
Naja Melan
b923ec42c0
Keep processing incoming data even after we have initiated a close handshake.
5 years ago
Artem Vorotnikov
cbf80ecc76
Edition 2018, formatting, clippy fixes
5 years ago
Daniel Abramov
e2bec4b81f
Change the way we return `Err::ConnectionClosed`
...
This way will ensure that we only return this error once. The previous
solution fixed the problem, but it did not guarantee that ""connection
closed" is returned only once.
5 years ago
Daniel Abramov
dbc8bd7b71
Fix issue with hanging server connection
5 years ago
Simon Sapin
4b1d89daf1
Update the url crate to 2.0
5 years ago
Alexey Galakhov
06308b1b3f
close: fix autobahn regression
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
b8f7d3668e
close: refine close semantics
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
6f132208ee
server: let callback return HTTP error messages
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Yusuke Sasaki
828eafd400
extract the context values from `WebSocket`
6 years ago
Daniel Abramov
c8c3d6290d
Make `Close` part of the `Message` enum
6 years ago
Evan Schwartz
da85989934
feat: impl Into<Vec<u8>> for Message
6 years ago
Alexey Galakhov
a7e87488c4
config: make config settable at runtime
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
9b0a2e0f11
trivial: split public and private impl
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
a2e122ab9e
refactor: mask: pass mask by value
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
e6ebf5ac76
trivial: style fixes
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
d2e3602170
frame: fix partial write
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
3772aaf163
chore: introduce frame size limit
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
50d1371e52
frame: cleanup frame API
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
75aa0d54f3
refactor: parse header separately from payload
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
20242d19f7
config: protocol: add message size limiting
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
a4f885f69f
protocol: improve write responsibility
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
e4a52cde05
mask: update for actual Rust version
...
Closes #35
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
cb671e1abc
trivial: improve documentation
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Ran Benita
4cfe9a2be1
frame: eliminate an unsafe when reading message data into the buffer
...
The reason for the unsafe was presumably to avoid copying or
zero-initializing. This achieves the same but using only safe functions.
Note: there is no zero-initializing here because Cursor is "trusted" to
not read from the buffer and so skips the initialization:
https://github.com/rust-lang/rust/blob/master/src/libstd/io/cursor.rs#L241
(the Take wrapper delegates to its inner).
6 years ago
Alexey Galakhov
fdb1a0ed50
frame: reject bad opcodes early
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
9bd65feaeb
frame: reject frames that are too big for the RAM
...
Fixes #34 .
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
977c6e7c7a
refactor: remove transmute in favor of safe code
...
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Alexey Galakhov
c0cde68999
frame: fix integer overflow
...
This is a security fix.
Fixes #33 .
Signed-off-by: Alexey Galakhov <agalakhov@snapview.de>
6 years ago
Daniel Abramov
3a58069db2
Create helpers for config-like functions
...
As suggested by @agalakhov
6 years ago
Ryan Leckey
51e7ba3f39
Switch from sha1 to sha-1
6 years ago
Ryan Leckey
ef8e41f63f
prepare for native-tls 0.2
7 years ago
Daniel Abramov
00303fa60c
Make the websocket configurable
7 years ago