@@ -236,13 +236,14 @@ where C: Connect + Sync + 'static,
|
||||
match req.version() {
|
||||
Version::HTTP_11 => (),
|
||||
Version::HTTP_10 => if is_http_connect {
|
||||
debug!("CONNECT is not allowed for HTTP/1.0");
|
||||
warn!("CONNECT is not allowed for HTTP/1.0");
|
||||
return ResponseFuture::new(Box::new(future::err(::Error::new_user_unsupported_request_method())));
|
||||
},
|
||||
other => if self.config.ver != Ver::Http2 {
|
||||
error!("Request has unsupported version \"{:?}\"", other);
|
||||
return ResponseFuture::new(Box::new(future::err(::Error::new_user_unsupported_version())));
|
||||
}
|
||||
other_h2 @ Version::HTTP_2 => if self.config.ver != Ver::Http2 {
|
||||
return ResponseFuture::error_version(other_h2);
|
||||
},
|
||||
// completely unsupported HTTP version (like HTTP/0.9)!
|
||||
other => return ResponseFuture::error_version(other),
|
||||
};
|
||||
|
||||
let domain = match extract_domain(req.uri_mut(), is_http_connect) {
|
||||
@@ -591,6 +592,11 @@ impl ResponseFuture {
|
||||
inner: fut,
|
||||
}
|
||||
}
|
||||
|
||||
fn error_version(ver: Version) -> Self {
|
||||
warn!("Request has unsupported version \"{:?}\"", ver);
|
||||
ResponseFuture::new(Box::new(future::err(::Error::new_user_unsupported_version())))
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for ResponseFuture {
|
||||
|
||||
Reference in New Issue
Block a user