mirror of
https://github.com/fafhrd91/actix-web
synced 2024-11-27 17:52:56 +01:00
cleanup
This commit is contained in:
parent
57c53bd2a0
commit
d35be02587
@ -3,7 +3,7 @@
|
||||
## Content encoding
|
||||
|
||||
Actix automatically *compress*/*decompress* payload.
|
||||
Following encodings are supported:
|
||||
Following codecs are supported:
|
||||
|
||||
* Brotli
|
||||
* Gzip
|
||||
@ -13,17 +13,23 @@ Following encodings are supported:
|
||||
If request headers contains `Content-Encoding` header, request payload get decompressed
|
||||
according to header value. Multiple codecs are not supported, i.e: `Content-Encoding: br, gzip`.
|
||||
|
||||
Response payload get compressed based on `content_encoding` settings.
|
||||
If `ContentEncoding::Auto` is selected then compression depends on request's
|
||||
`Accept-Encoding` header. `ContentEncoding::Identity` could be used to disable compression.
|
||||
If other content encoding is selected the compression is enforced.
|
||||
Response payload get compressed based on *content_encoding* parameter.
|
||||
By default `ContentEncoding::Auto` is used. If `ContentEncoding::Auto` is selected
|
||||
then compression depends on request's `Accept-Encoding` header.
|
||||
`ContentEncoding::Identity` could be used to disable compression.
|
||||
If other content encoding is selected the compression is enforced for this codec. For example,
|
||||
to enable `brotli` response's body compression use `ContentEncoding::Br`:
|
||||
|
||||
```rust
|
||||
extern crate actix_web;
|
||||
use actix_web::*;
|
||||
|
||||
```rust,ignore
|
||||
fn index(req: HttpRequest) -> HttpResponse {
|
||||
HttpResponse::Ok()
|
||||
.content_encoding(ContentEncoding::Br)
|
||||
.body(Body)
|
||||
.body("data").unwrap()
|
||||
}
|
||||
# fn main() {}
|
||||
```
|
||||
|
||||
## JSON Response
|
||||
|
@ -1,5 +1,5 @@
|
||||
//! Pieces pertaining to the HTTP response.
|
||||
use std::{io, mem, str, fmt};
|
||||
use std::{mem, str, fmt};
|
||||
use std::convert::Into;
|
||||
|
||||
use cookie::CookieJar;
|
||||
@ -157,17 +157,6 @@ impl HttpResponse {
|
||||
self.chunked
|
||||
}
|
||||
|
||||
/// Enables automatic chunked transfer encoding
|
||||
pub fn enable_chunked_encoding(&mut self) -> Result<(), io::Error> {
|
||||
if self.headers.contains_key(header::CONTENT_LENGTH) {
|
||||
Err(io::Error::new(io::ErrorKind::Other,
|
||||
"You can't enable chunked encoding when a content length is set"))
|
||||
} else {
|
||||
self.chunked = true;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
/// Content encoding
|
||||
pub fn content_encoding(&self) -> &ContentEncoding {
|
||||
&self.encoding
|
||||
@ -597,6 +586,7 @@ mod tests {
|
||||
fn test_basic_builder() {
|
||||
let resp = HttpResponse::Ok()
|
||||
.status(StatusCode::NO_CONTENT)
|
||||
.header("X-TEST", "value")
|
||||
.version(Version::HTTP_10)
|
||||
.finish().unwrap();
|
||||
assert_eq!(resp.version(), Some(Version::HTTP_10));
|
||||
|
Loading…
Reference in New Issue
Block a user