#actix #http #web #framework #async

actix-web

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

93 releases (10 stable)

✓ Uses Rust 2018 edition

3.0.0-alpha.3 May 21, 2020
3.0.0-alpha.1 Mar 11, 2020
2.0.0 Dec 25, 2019
2.0.0-alpha.1 Nov 22, 2019
0.2.1 Nov 3, 2017

#1 in HTTP server

Download history 18019/week @ 2020-03-16 17929/week @ 2020-03-23 17980/week @ 2020-03-30 17967/week @ 2020-04-06 17102/week @ 2020-04-13 17871/week @ 2020-04-20 19223/week @ 2020-04-27 18021/week @ 2020-05-04 19789/week @ 2020-05-11 17923/week @ 2020-05-18 16788/week @ 2020-05-25 20954/week @ 2020-06-01 20615/week @ 2020-06-08 21536/week @ 2020-06-15 22770/week @ 2020-06-22 22414/week @ 2020-06-29

76,539 downloads per month
Used in 271 crates (248 directly)

MIT/Apache and maybe MPL-2.0

1.5MB
31K SLoC

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.

Dependencies

~20MB
~475K SLoC