2017-12-05 11:50:09 -08:00
2017-12-04 16:32:31 -08:00
2017-12-04 20:38:38 -08:00
2017-12-05 11:43:41 -08:00
2017-12-05 11:43:41 -08:00
2017-11-27 16:41:37 -08:00
2017-12-04 16:09:22 -08:00
2017-12-03 20:47:15 -08:00
2017-12-01 21:29:22 -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-05 11:50:09 -08:00

Actix web Build Status Build status codecov crates.io

Asynchronous web framework for Actix.


Actix web is licensed under the Apache-2.0 license.

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)

Usage

To use actix-web, add this to your Cargo.toml:

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

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

Example

# extern crate actix;
# extern crate actix_web;
# 
use actix::*;
use actix_web::*;

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

fn main() {
    let sys = actix::System::new("ws-example");

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

    Arbiter::system().send(msgs::SystemExit(0));
    let _ = sys.run();
}
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%