File tree Expand file tree Collapse file tree 10 files changed +47
-32
lines changed Expand file tree Collapse file tree 10 files changed +47
-32
lines changed Original file line number Diff line number Diff line change @@ -3,11 +3,9 @@ extern crate hyper;
33
44use std:: thread;
55use std:: io:: Write ;
6- use websocket:: { Server , Message , Sender , Receiver } ;
7- use websocket:: header:: WebSocketProtocol ;
6+ use websocket:: { Server , Message } ;
87use websocket:: message:: Type ;
98use hyper:: Server as HttpServer ;
10- use hyper:: server:: Handler ;
119use hyper:: net:: Fresh ;
1210use hyper:: server:: request:: Request ;
1311use hyper:: server:: response:: Response ;
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ extern crate websocket;
33use std:: thread;
44use websocket:: { Server , Message } ;
55use websocket:: message:: Type ;
6- use websocket:: header:: WebSocketProtocol ;
76
87// TODO: I think the .reject() call is only for malformed packets
98// there should be an easy way to accept the socket with the given protocols
Original file line number Diff line number Diff line change 11//! Contains the WebSocket client.
22extern crate url;
33
4- use std:: borrow:: {
5- Cow ,
6- } ;
74use std:: net:: TcpStream ;
85use std:: net:: SocketAddr ;
96use std:: io:: Result as IoResult ;
Original file line number Diff line number Diff line change @@ -88,7 +88,8 @@ mod tests {
8888 use test;
8989 use std:: str:: FromStr ;
9090 use header:: { Headers , WebSocketKey } ;
91- use hyper:: header:: { Header , HeaderFormatter } ;
91+ use hyper:: header:: Header ;
92+
9293 #[ test]
9394 fn test_header_accept ( ) {
9495 let key = FromStr :: from_str ( "dGhlIHNhbXBsZSBub25jZQ==" ) . unwrap ( ) ;
@@ -118,9 +119,8 @@ mod tests {
118119 fn bench_header_accept_format ( b : & mut test:: Bencher ) {
119120 let value = vec ! [ b"s3pPLMBiTxaQ9kYGzzhZRbK+xOo=" . to_vec( ) ] ;
120121 let val: WebSocketAccept = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
121- let fmt = HeaderFormatter ( & val) ;
122122 b. iter ( || {
123- format ! ( "{}" , fmt ) ;
123+ format ! ( "{}" , val . serialize ( ) ) ;
124124 } ) ;
125125 }
126126}
Original file line number Diff line number Diff line change @@ -120,10 +120,16 @@ impl HeaderFormat for WebSocketExtensions {
120120 }
121121}
122122
123+ impl fmt:: Display for WebSocketExtensions {
124+ fn fmt ( & self , fmt : & mut fmt:: Formatter ) -> fmt:: Result {
125+ self . fmt_header ( fmt)
126+ }
127+ }
128+
123129#[ cfg( all( feature = "nightly" , test) ) ]
124130mod tests {
125131 use super :: * ;
126- use hyper:: header:: { Header , HeaderFormatter } ;
132+ use hyper:: header:: Header ;
127133 use test;
128134 #[ test]
129135 fn test_header_extensions ( ) {
@@ -148,9 +154,8 @@ mod tests {
148154 fn bench_header_extensions_format ( b : & mut test:: Bencher ) {
149155 let value = vec ! [ b"foo, bar; baz; qux=quux" . to_vec( ) ] ;
150156 let val: WebSocketExtensions = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
151- let fmt = HeaderFormatter ( & val) ;
152157 b. iter ( || {
153- format ! ( "{}" , fmt ) ;
158+ format ! ( "{}" , val ) ;
154159 } ) ;
155160 }
156- }
161+ }
Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ impl HeaderFormat for WebSocketKey {
8383#[ cfg( all( feature = "nightly" , test) ) ]
8484mod tests {
8585 use super :: * ;
86- use hyper:: header:: { Header , HeaderFormatter } ;
86+ use hyper:: header:: Header ;
8787 use test;
8888 #[ test]
8989 fn test_header_key ( ) {
@@ -114,9 +114,8 @@ mod tests {
114114 fn bench_header_key_format ( b : & mut test:: Bencher ) {
115115 let value = vec ! [ b"QUFBQUFBQUFBQUFBQUFBQQ==" . to_vec( ) ] ;
116116 let val: WebSocketKey = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
117- let fmt = HeaderFormatter ( & val) ;
118117 b. iter ( || {
119- format ! ( "{}" , fmt ) ;
118+ format ! ( "{}" , val . serialize ( ) ) ;
120119 } ) ;
121120 }
122- }
121+ }
Original file line number Diff line number Diff line change @@ -32,10 +32,16 @@ impl HeaderFormat for Origin {
3232 }
3333}
3434
35+ impl fmt:: Display for Origin {
36+ fn fmt ( & self , fmt : & mut fmt:: Formatter ) -> fmt:: Result {
37+ self . fmt_header ( fmt)
38+ }
39+ }
40+
3541#[ cfg( all( feature = "nightly" , test) ) ]
3642mod tests {
3743 use super :: * ;
38- use hyper:: header:: { Header , HeaderFormatter } ;
44+ use hyper:: header:: Header ;
3945 use test;
4046 #[ test]
4147 fn test_header_origin ( ) {
@@ -59,9 +65,8 @@ mod tests {
5965 fn bench_header_origin_format ( b : & mut test:: Bencher ) {
6066 let value = vec ! [ b"foobar" . to_vec( ) ] ;
6167 let val: Origin = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
62- let fmt = HeaderFormatter ( & val) ;
6368 b. iter ( || {
64- format ! ( "{}" , fmt ) ;
69+ format ! ( "{}" , val ) ;
6570 } ) ;
6671 }
67- }
72+ }
Original file line number Diff line number Diff line change @@ -32,10 +32,16 @@ impl HeaderFormat for WebSocketProtocol {
3232 }
3333}
3434
35+ impl fmt:: Display for WebSocketProtocol {
36+ fn fmt ( & self , fmt : & mut fmt:: Formatter ) -> fmt:: Result {
37+ self . fmt_header ( fmt)
38+ }
39+ }
40+
3541#[ cfg( all( feature = "nightly" , test) ) ]
3642mod tests {
3743 use super :: * ;
38- use hyper:: header:: { Header , HeaderFormatter } ;
44+ use hyper:: header:: Header ;
3945 use test;
4046 #[ test]
4147 fn test_header_protocol ( ) {
@@ -59,9 +65,8 @@ mod tests {
5965 fn bench_header_protocol_format ( b : & mut test:: Bencher ) {
6066 let value = vec ! [ b"foo, bar" . to_vec( ) ] ;
6167 let val: WebSocketProtocol = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
62- let fmt = HeaderFormatter ( & val) ;
6368 b. iter ( || {
64- format ! ( "{}" , fmt ) ;
69+ format ! ( "{}" , val ) ;
6570 } ) ;
6671 }
67- }
72+ }
Original file line number Diff line number Diff line change @@ -46,10 +46,16 @@ impl HeaderFormat for WebSocketVersion {
4646 }
4747}
4848
49+ impl fmt:: Display for WebSocketVersion {
50+ fn fmt ( & self , fmt : & mut fmt:: Formatter ) -> fmt:: Result {
51+ self . fmt_header ( fmt)
52+ }
53+ }
54+
4955#[ cfg( all( feature = "nightly" , test) ) ]
5056mod tests {
5157 use super :: * ;
52- use hyper:: header:: { Header , HeaderFormatter } ;
58+ use hyper:: header:: Header ;
5359 use test;
5460 #[ test]
5561 fn test_websocket_version ( ) {
@@ -73,9 +79,8 @@ mod tests {
7379 fn bench_header_version_format ( b : & mut test:: Bencher ) {
7480 let value = vec ! [ b"13" . to_vec( ) ] ;
7581 let val: WebSocketVersion = Header :: parse_header ( & value[ ..] ) . unwrap ( ) ;
76- let fmt = HeaderFormatter ( & val) ;
7782 b. iter ( || {
78- format ! ( "{}" , fmt ) ;
83+ format ! ( "{}" , val ) ;
7984 } ) ;
8085 }
81- }
86+ }
Original file line number Diff line number Diff line change @@ -110,8 +110,10 @@ impl<S> WsUpgrade<S>
110110 . unwrap_or ( & [ ] )
111111 }
112112
113- pub fn extensions ( & self ) -> Option < & [ Extension ] > {
114- self . request . headers . get :: < WebSocketExtensions > ( ) . map ( |e| e. 0 . as_slice ( ) )
113+ pub fn extensions ( & self ) -> & [ Extension ] {
114+ self . request . headers . get :: < WebSocketExtensions > ( )
115+ . map ( |e| e. 0 . as_slice ( ) )
116+ . unwrap_or ( & [ ] )
115117 }
116118
117119 pub fn key ( & self ) -> Option < & [ u8 ; 16 ] > {
You can’t perform that action at this time.
0 commit comments