Brotli support (#791)

This commit is contained in:
EnokMan
2020-02-19 14:49:11 -06:00
committed by GitHub
parent 7622c75064
commit f831d62da0
9 changed files with 400 additions and 103 deletions

View File

@@ -39,6 +39,7 @@ impl Response {
res: hyper::Response<hyper::Body>,
url: Url,
gzip: bool,
brotli: bool,
timeout: Option<Delay>,
) -> Response {
let (parts, body) = res.into_parts();
@@ -47,7 +48,7 @@ impl Response {
let extensions = parts.extensions;
let mut headers = parts.headers;
let decoder = Decoder::detect(&mut headers, Body::response(body, timeout), gzip);
let decoder = Decoder::detect(&mut headers, Body::response(body, timeout), gzip, brotli);
Response {
status,
@@ -404,7 +405,7 @@ impl<T: Into<Body>> From<http::Response<T>> for Response {
fn from(r: http::Response<T>) -> Response {
let (mut parts, body) = r.into_parts();
let body = body.into();
let body = Decoder::detect(&mut parts.headers, body, false);
let body = Decoder::detect(&mut parts.headers, body, false, false);
let url = parts
.extensions
.remove::<ResponseUrl>()
@@ -440,7 +441,6 @@ pub trait ResponseBuilderExt {
fn url(self, url: Url) -> Self;
}
impl ResponseBuilderExt for http::response::Builder {
fn url(self, url: Url) -> Self {
self.extension(ResponseUrl(url))