1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-11-18 15:41:17 +00:00

better ws handshake error responses

This commit is contained in:
Nikolay Kim 2017-10-29 14:50:26 -07:00
parent af1e0bac08
commit ce34eab832

View file

@ -116,7 +116,11 @@ impl ResponseType for Message {
pub fn handshake(req: &HttpRequest) -> Result<HttpResponse, HttpResponse> {
// WebSocket accepts only GET
if *req.method() != Method::GET {
return Err(HTTPMethodNotAllowed.response())
return Err(
HTTPMethodNotAllowed
.builder()
.header(header::ALLOW, "GET")
.finish()?)
}
// Check for "UPGRADE" to websocket header
@ -130,7 +134,7 @@ pub fn handshake(req: &HttpRequest) -> Result<HttpResponse, HttpResponse> {
false
};
if !has_hdr {
return Err(HTTPMethodNotAllowed.with_reason("No WebSocket UPGRADE header found"))
return Err(HTTPBadRequest.with_reason("No WebSocket UPGRADE header found"))
}
// Upgrade connection