1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-06-27 01:20:35 +00:00
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Go to file
Omid Rad 32a37b7282
Remove content_length from ResponseBuilder (#1491)
* Remove content_length since it'll be overwritten by the response body. FIXES #1439

* Add setting of Content-Length to the no_chunking function

* Add changes and migration documentations

* Update MIGRATION.md

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>

Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-19 07:46:31 +09:00
.github bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
actix-cors Remove outdated members 2020-05-17 10:56:06 +09:00
actix-files Actix-files will always send SizedStream (#1496) 2020-05-18 06:54:42 +09:00
actix-framed bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
actix-http Remove content_length from ResponseBuilder (#1491) 2020-05-19 07:46:31 +09:00
actix-identity Remove outdated members 2020-05-17 10:56:06 +09:00
actix-multipart bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
actix-session Remove outdated members 2020-05-17 10:56:06 +09:00
actix-web-actors bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
actix-web-codegen bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
awc bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
benches Add benchmark for full stack request lifecycle (#1298) 2020-01-25 08:05:25 +09:00
examples Fix/suppress warnings 2020-02-08 02:20:01 +09:00
src use mem::take where possible (#1507) 2020-05-17 10:54:42 +09:00
test-server bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
tests Remove content_length from ResponseBuilder (#1491) 2020-05-19 07:46:31 +09:00
.appveyor.yml update deps 2018-10-08 21:58:37 -07:00
.gitignore start working on guide 2017-11-27 16:41:37 -08:00
Cargo.toml Remove outdated members 2020-05-17 10:56:06 +09:00
CHANGES.md Provide impl<T> From<Arc<T>> for Data<T> (#1509) 2020-05-16 00:27:03 +01:00
CODE_OF_CONDUCT.md code of conduct 2018-01-21 15:29:02 -08:00
codecov.yml Remove codecoverage for tests and examples (#1299) 2020-01-24 05:10:02 +09:00
LICENSE-APACHE add mit license 2017-12-17 10:08:44 -08:00
LICENSE-MIT spelling check 2018-03-24 09:35:52 +03:00
MIGRATION.md Remove content_length from ResponseBuilder (#1491) 2020-05-19 07:46:31 +09:00
README.md bump msrv in ci and readme 2020-05-13 01:57:37 +01:00
rustfmt.toml copy actix-web2 2019-03-01 22:51:32 -08:00

Actix web

Actix web is a small, pragmatic, and extremely fast rust web framework

Build Status codecov crates.io Join the chat at https://gitter.im/actix/actix Documentation Download Version License

Website | Chat | Examples


Actix web is a simple, pragmatic and extremely fast web framework for Rust.

  • Supported HTTP/1.x and HTTP/2.0 protocols
  • Streaming and pipelining
  • Keep-alive and slow requests handling
  • Client/server WebSockets support
  • Transparent content compression/decompression (br, gzip, deflate)
  • Configurable request routing
  • Multipart streams
  • Static assets
  • SSL support with OpenSSL or Rustls
  • Middlewares (Logger, Session, CORS, etc)
  • Includes an asynchronous HTTP client
  • Supports Actix actor framework
  • Supports Rust 1.40+

Docs

Example

Dependencies:

[dependencies]
actix-web = "2"
actix-rt = "1"

Code:

use actix_web::{get, web, App, HttpServer, Responder};

#[get("/{id}/{name}/index.html")]
async fn index(info: web::Path<(u32, String)>) -> impl Responder {
    format!("Hello {}! id:{}", info.1, info.0)
}

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| App::new().service(index))
        .bind("127.0.0.1:8080")?
        .run()
        .await
}

More examples

You may consider checking out this directory for more examples.

Benchmarks

License

This project is licensed under either of

at your option.

Code of Conduct

Contribution to the actix-web crate is organized under the terms of the Contributor Covenant, the maintainer of actix-web, @fafhrd91, promises to intervene to uphold that code of conduct.