mirror of
https://github.com/fafhrd91/actix-web
synced 2024-11-27 17:52:56 +01:00
use new version of http crate
This commit is contained in:
parent
1284264511
commit
d62d6e68e0
@ -42,7 +42,7 @@ brotli2 = "^0.3.2"
|
|||||||
failure = "0.1.1"
|
failure = "0.1.1"
|
||||||
flate2 = "1.0"
|
flate2 = "1.0"
|
||||||
h2 = "0.1"
|
h2 = "0.1"
|
||||||
http = "^0.1.2"
|
http = "^0.1.5"
|
||||||
httparse = "1.2"
|
httparse = "1.2"
|
||||||
http-range = "0.1"
|
http-range = "0.1"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
|
@ -197,11 +197,11 @@ impl WsClient {
|
|||||||
self.request.upgrade();
|
self.request.upgrade();
|
||||||
self.request.set_header(header::UPGRADE, "websocket");
|
self.request.set_header(header::UPGRADE, "websocket");
|
||||||
self.request.set_header(header::CONNECTION, "upgrade");
|
self.request.set_header(header::CONNECTION, "upgrade");
|
||||||
self.request.set_header("SEC-WEBSOCKET-VERSION", "13");
|
self.request.set_header(header::SEC_WEBSOCKET_VERSION, "13");
|
||||||
self.request.with_connector(self.conn.clone());
|
self.request.with_connector(self.conn.clone());
|
||||||
|
|
||||||
if let Some(protocols) = self.protocols.take() {
|
if let Some(protocols) = self.protocols.take() {
|
||||||
self.request.set_header("SEC-WEBSOCKET-PROTOCOL", protocols.as_str());
|
self.request.set_header(header::SEC_WEBSOCKET_PROTOCOL, protocols.as_str());
|
||||||
}
|
}
|
||||||
let request = match self.request.finish() {
|
let request = match self.request.finish() {
|
||||||
Ok(req) => req,
|
Ok(req) => req,
|
||||||
@ -249,7 +249,7 @@ impl WsClientHandshake {
|
|||||||
let key = base64::encode(&sec_key);
|
let key = base64::encode(&sec_key);
|
||||||
|
|
||||||
request.headers_mut().insert(
|
request.headers_mut().insert(
|
||||||
HeaderName::try_from("SEC-WEBSOCKET-KEY").unwrap(),
|
header::SEC_WEBSOCKET_KEY,
|
||||||
HeaderValue::try_from(key.as_str()).unwrap());
|
HeaderValue::try_from(key.as_str()).unwrap());
|
||||||
|
|
||||||
let (tx, rx) = unbounded();
|
let (tx, rx) = unbounded();
|
||||||
@ -328,8 +328,7 @@ impl Future for WsClientHandshake {
|
|||||||
return Err(WsClientError::MissingConnectionHeader)
|
return Err(WsClientError::MissingConnectionHeader)
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(key) = resp.headers().get(
|
if let Some(key) = resp.headers().get(header::SEC_WEBSOCKET_ACCEPT)
|
||||||
HeaderName::try_from("SEC-WEBSOCKET-ACCEPT").unwrap())
|
|
||||||
{
|
{
|
||||||
// field is constructed by concatenating /key/
|
// field is constructed by concatenating /key/
|
||||||
// with the string "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" (RFC 6455)
|
// with the string "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" (RFC 6455)
|
||||||
|
@ -70,11 +70,6 @@ pub use self::context::WebsocketContext;
|
|||||||
pub use self::client::{WsClient, WsClientError,
|
pub use self::client::{WsClient, WsClientError,
|
||||||
WsClientReader, WsClientWriter, WsClientHandshake};
|
WsClientReader, WsClientWriter, WsClientHandshake};
|
||||||
|
|
||||||
const SEC_WEBSOCKET_ACCEPT: &str = "SEC-WEBSOCKET-ACCEPT";
|
|
||||||
const SEC_WEBSOCKET_KEY: &str = "SEC-WEBSOCKET-KEY";
|
|
||||||
const SEC_WEBSOCKET_VERSION: &str = "SEC-WEBSOCKET-VERSION";
|
|
||||||
// const SEC_WEBSOCKET_PROTOCOL: &'static str = "SEC-WEBSOCKET-PROTOCOL";
|
|
||||||
|
|
||||||
|
|
||||||
/// Websocket errors
|
/// Websocket errors
|
||||||
#[derive(Fail, Debug)]
|
#[derive(Fail, Debug)]
|
||||||
@ -222,11 +217,11 @@ pub fn handshake<S>(req: &HttpRequest<S>) -> Result<HttpResponseBuilder, WsHands
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check supported version
|
// check supported version
|
||||||
if !req.headers().contains_key(SEC_WEBSOCKET_VERSION) {
|
if !req.headers().contains_key(header::SEC_WEBSOCKET_VERSION) {
|
||||||
return Err(WsHandshakeError::NoVersionHeader)
|
return Err(WsHandshakeError::NoVersionHeader)
|
||||||
}
|
}
|
||||||
let supported_ver = {
|
let supported_ver = {
|
||||||
if let Some(hdr) = req.headers().get(SEC_WEBSOCKET_VERSION) {
|
if let Some(hdr) = req.headers().get(header::SEC_WEBSOCKET_VERSION) {
|
||||||
hdr == "13" || hdr == "8" || hdr == "7"
|
hdr == "13" || hdr == "8" || hdr == "7"
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
@ -237,11 +232,11 @@ pub fn handshake<S>(req: &HttpRequest<S>) -> Result<HttpResponseBuilder, WsHands
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check client handshake for validity
|
// check client handshake for validity
|
||||||
if !req.headers().contains_key(SEC_WEBSOCKET_KEY) {
|
if !req.headers().contains_key(header::SEC_WEBSOCKET_KEY) {
|
||||||
return Err(WsHandshakeError::BadWebsocketKey)
|
return Err(WsHandshakeError::BadWebsocketKey)
|
||||||
}
|
}
|
||||||
let key = {
|
let key = {
|
||||||
let key = req.headers().get(SEC_WEBSOCKET_KEY).unwrap();
|
let key = req.headers().get(header::SEC_WEBSOCKET_KEY).unwrap();
|
||||||
hash_key(key.as_ref())
|
hash_key(key.as_ref())
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -249,7 +244,7 @@ pub fn handshake<S>(req: &HttpRequest<S>) -> Result<HttpResponseBuilder, WsHands
|
|||||||
.connection_type(ConnectionType::Upgrade)
|
.connection_type(ConnectionType::Upgrade)
|
||||||
.header(header::UPGRADE, "websocket")
|
.header(header::UPGRADE, "websocket")
|
||||||
.header(header::TRANSFER_ENCODING, "chunked")
|
.header(header::TRANSFER_ENCODING, "chunked")
|
||||||
.header(SEC_WEBSOCKET_ACCEPT, key.as_str())
|
.header(header::SEC_WEBSOCKET_ACCEPT, key.as_str())
|
||||||
.take())
|
.take())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,7 +380,7 @@ mod tests {
|
|||||||
header::HeaderValue::from_static("websocket"));
|
header::HeaderValue::from_static("websocket"));
|
||||||
headers.insert(header::CONNECTION,
|
headers.insert(header::CONNECTION,
|
||||||
header::HeaderValue::from_static("upgrade"));
|
header::HeaderValue::from_static("upgrade"));
|
||||||
headers.insert(SEC_WEBSOCKET_VERSION,
|
headers.insert(header::SEC_WEBSOCKET_VERSION,
|
||||||
header::HeaderValue::from_static("5"));
|
header::HeaderValue::from_static("5"));
|
||||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
||||||
Version::HTTP_11, headers, None);
|
Version::HTTP_11, headers, None);
|
||||||
@ -396,7 +391,7 @@ mod tests {
|
|||||||
header::HeaderValue::from_static("websocket"));
|
header::HeaderValue::from_static("websocket"));
|
||||||
headers.insert(header::CONNECTION,
|
headers.insert(header::CONNECTION,
|
||||||
header::HeaderValue::from_static("upgrade"));
|
header::HeaderValue::from_static("upgrade"));
|
||||||
headers.insert(SEC_WEBSOCKET_VERSION,
|
headers.insert(header::SEC_WEBSOCKET_VERSION,
|
||||||
header::HeaderValue::from_static("13"));
|
header::HeaderValue::from_static("13"));
|
||||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
||||||
Version::HTTP_11, headers, None);
|
Version::HTTP_11, headers, None);
|
||||||
@ -407,9 +402,9 @@ mod tests {
|
|||||||
header::HeaderValue::from_static("websocket"));
|
header::HeaderValue::from_static("websocket"));
|
||||||
headers.insert(header::CONNECTION,
|
headers.insert(header::CONNECTION,
|
||||||
header::HeaderValue::from_static("upgrade"));
|
header::HeaderValue::from_static("upgrade"));
|
||||||
headers.insert(SEC_WEBSOCKET_VERSION,
|
headers.insert(header::SEC_WEBSOCKET_VERSION,
|
||||||
header::HeaderValue::from_static("13"));
|
header::HeaderValue::from_static("13"));
|
||||||
headers.insert(SEC_WEBSOCKET_KEY,
|
headers.insert(header::SEC_WEBSOCKET_KEY,
|
||||||
header::HeaderValue::from_static("13"));
|
header::HeaderValue::from_static("13"));
|
||||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
||||||
Version::HTTP_11, headers, None);
|
Version::HTTP_11, headers, None);
|
||||||
|
Loading…
Reference in New Issue
Block a user