mirror of
https://github.com/actix/actix-web.git
synced 2024-11-29 21:11:17 +00:00
update user guide content compression section
This commit is contained in:
parent
7295846426
commit
83168731fc
5 changed files with 42 additions and 5 deletions
|
@ -79,7 +79,7 @@ after_success:
|
|||
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_RUST_VERSION" == "beta" ]]; then
|
||||
cargo doc --features "alpn, tls, session" --no-deps &&
|
||||
echo "<meta http-equiv=refresh content=0;url=os_balloon/index.html>" > target/doc/index.html &&
|
||||
curl -sL https://github.com/rust-lang-nursery/mdBook/releases/download/v0.1.3/mdbook-v0.1.3-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C $HOME/.cargo/bin &&
|
||||
curl -sL https://github.com/rust-lang-nursery/mdBook/releases/download/v0.1.2/mdbook-v0.1.2-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C $HOME/.cargo/bin &&
|
||||
cd guide && mdbook build -d ../target/doc/guide && cd .. &&
|
||||
git clone https://github.com/davisp/ghp-import.git &&
|
||||
./ghp-import/ghp_import.py -n -p -f -m "Documentation upload" -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc &&
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
# Changes
|
||||
|
||||
|
||||
## 0.5.1 (2018-xx-xx)
|
||||
## 0.5.1 (2018-04-xx)
|
||||
|
||||
* Client connector provides stats, `ClientConnector::stats()`
|
||||
|
||||
* Fix end-of-stream handling in parse_payload #173
|
||||
|
||||
|
||||
## 0.5.0 (2018-04-10)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
name = "actix-web"
|
||||
version = "0.5.1"
|
||||
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
||||
description = "Actix web is a simple, pragmatic, extremely fast, web framework for Rust."
|
||||
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
|
||||
readme = "README.md"
|
||||
keywords = ["http", "web", "framework", "async", "futures"]
|
||||
homepage = "https://github.com/actix/actix-web"
|
||||
|
|
|
@ -37,7 +37,8 @@ Actix automatically *compresses*/*decompresses* payloads. The following codecs a
|
|||
* Identity
|
||||
|
||||
If request headers contain a `Content-Encoding` header, the request payload is decompressed
|
||||
according to the header value. Multiple codecs are not supported, i.e: `Content-Encoding: br, gzip`.
|
||||
according to the header value. Multiple codecs are not supported,
|
||||
i.e: `Content-Encoding: br, gzip`.
|
||||
|
||||
Response payload is compressed based on the *content_encoding* parameter.
|
||||
By default, `ContentEncoding::Auto` is used. If `ContentEncoding::Auto` is selected,
|
||||
|
@ -60,6 +61,40 @@ fn index(req: HttpRequest) -> HttpResponse {
|
|||
# fn main() {}
|
||||
```
|
||||
|
||||
In this case we explicitly disable content compression
|
||||
by setting content encoding to a `Identity` value:
|
||||
|
||||
```rust
|
||||
# extern crate actix_web;
|
||||
use actix_web::{HttpRequest, HttpResponse, http::ContentEncoding};
|
||||
|
||||
fn index(req: HttpRequest) -> HttpResponse {
|
||||
HttpResponse::Ok()
|
||||
.content_encoding(ContentEncoding::Identity) // <- disable compression
|
||||
.body("data")
|
||||
}
|
||||
# fn main() {}
|
||||
```
|
||||
|
||||
Also it is possible to set default content encoding on application level, by
|
||||
default `ContentEncoding::Auto` is used, which implies automatic content compression
|
||||
negotiation.
|
||||
|
||||
```rust
|
||||
# extern crate actix_web;
|
||||
use actix_web::{App, HttpRequest, HttpResponse, http::ContentEncoding};
|
||||
|
||||
fn index(req: HttpRequest) -> HttpResponse {
|
||||
HttpResponse::Ok()
|
||||
.body("data")
|
||||
}
|
||||
fn main() {
|
||||
let app = App::new()
|
||||
.default_encoding(ContentEncoding::Identity) // <- disable compression for all routes
|
||||
.resource("/index.html", |r| r.with(index));
|
||||
}
|
||||
```
|
||||
|
||||
## JSON Request
|
||||
|
||||
There are several options for json body deserialization.
|
||||
|
|
|
@ -350,7 +350,7 @@ impl<S> App<S> where S: 'static {
|
|||
}
|
||||
|
||||
/// Set default content encoding. `ContentEncoding::Auto` is set by default.
|
||||
pub fn default_encoding<F>(mut self, encoding: ContentEncoding) -> App<S>
|
||||
pub fn default_encoding(mut self, encoding: ContentEncoding) -> App<S>
|
||||
{
|
||||
{
|
||||
let parts = self.parts.as_mut().expect("Use after finish");
|
||||
|
|
Loading…
Reference in a new issue