refactor server impl and add support for alpn http2 negotiation

This commit is contained in:
Nikolay Kim 2017-11-04 12:33:14 -07:00
parent 32cefb8455
commit d7d3d663e9
14 changed files with 240 additions and 136 deletions

View file

@ -13,14 +13,25 @@ Actix web is licensed under the [Apache-2.0 license](http://opensource.org/licen
## Features
* HTTP/1 and HTTP/2 support
* Streaming and pipelining support
* Keep-alive and slow requests support
* [WebSockets support](https://actix.github.io/actix-web/actix_web/ws/index.html)
* HTTP/1 and HTTP/2
* Streaming and pipelining
* Keep-alive and slow requests handling
* [WebSockets](https://actix.github.io/actix-web/actix_web/ws/index.html)
* Configurable request routing
* Multipart streams
* Middlewares
## HTTP/2 Negotiation
To use http/2 protocol over tls without prior knowlage requires
[tls alpn]( (https://tools.ietf.org/html/rfc7301). At the moment only
rust-openssl supports alpn.
```toml
[dependencies]
actix-web = { git = "https://github.com/actix/actix-web", features=["alpn"] }
```
## Usage
To use `actix-web`, add this to your `Cargo.toml`: