Как можно упростить следующий код?
let is_brotli = res
.headers()
.get(CONTENT_ENCODING)
.map_or(false, |v| v.eq(&HeaderValue::from_static("br")));
let body = if is_brotli {
let body = res.into_body();
let b = body.map_err(|_| IOError::from(IOErrorKind::InvalidData));
// decode brotli
let res_reader = StreamReader::new(b);
let br_decoder = BrotliDecoder::new(res_reader);
let br_reader = ReaderStream::new(br_decoder);
Body::wrap_stream(br_reader)
} else {
res.into_body()
};
let body = hyper::body::to_bytes(body).await?;
Что значит упростить? Вынести кусок кода в отдельную функцию?
Под фразой упростить имелось ввиду сделать это все одним выражением используя функциональный подход
Обсуждают сегодня