2017-12-09 04:33:40 -08:00
2017-12-08 12:29:28 -08:00
2017-12-08 15:25:37 -08:00
2017-12-09 04:33:40 -08:00
2017-12-09 04:33:40 -08:00
2017-11-27 16:41:37 -08:00
2017-12-08 15:25:37 -08:00
2017-11-30 14:42:20 -08:00
2017-09-30 09:10:03 -07:00
2017-11-28 18:00:10 -08:00
2017-12-08 12:51:44 -08:00

Actix web Build Status Build status codecov crates.io

Actix web is a small, fast, down-to-earth, open source rust web framework.

use actix_web::*;

fn index(req: HttpRequest) -> String {
    format!("Hello {}!", &req.match_info()["name"])
}

fn main() {
    HttpServer::new(
        Application::new("/")
            .resource("/{name}", |r| r.method(Method::GET).f(index)))
        .serve::<_, ()>("127.0.0.1:8080");
}

Documentation

Features

  • Supported HTTP/1 and HTTP/2 protocols
  • Streaming and pipelining
  • Keep-alive and slow requests handling
  • WebSockets
  • Transparent content compression/decompression (br, gzip, deflate)
  • Configurable request routing
  • Multipart streams
  • Middlewares (Logger, Session included)
  • Built on top of Actix.

HTTP/2

Actix web automatically upgrades connection to http/2 if possible.

Negotiation

HTTP/2 protocol over tls without prior knowlage requires tls alpn. At the moment only rust-openssl supports alpn.

[dependencies]
actix-web = { git = "https://github.com/actix/actix-web", features=["alpn"] }

Upgrade to http/2 schema described in rfc section 3.2 is not supported. Starting http/2 with prior knowledge is supported for both clear text connection and tls connection. rfc section 3.4

tls example

Examples

License

Actix web is licensed under the Apache-2.0 license.

S
Description
A now defunct web server engine that is notable for its overuse of unsafe code, the memory safety bugs caused by that, and its deletion by its creator.
Readme 7.7 MiB
Languages
Rust 100%