1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-06-10 17:29:36 +00:00

alpha.1 release

This commit is contained in:
Nikolay Kim 2019-03-28 13:46:26 -07:00
parent 9cca86e60d
commit 9c198a0d29
22 changed files with 82 additions and 132 deletions

View file

@ -1,7 +1,9 @@
# Changes
## [1.0.0-alpha.1] - 2019-03-x
## [1.0.0-alpha.1] - 2019-03-28
### Changed
* Complete architecture re-design.
* Return 405 response if no matching route found within resource #538

View file

@ -4,7 +4,7 @@ version = "1.0.0-alpha.1"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
readme = "README.md"
keywords = ["http", "web", "framework", "async", "futures"]
keywords = ["actix", "http", "web", "framework", "async"]
homepage = "https://actix.rs"
repository = "https://github.com/actix/actix-web.git"
documentation = "https://docs.rs/actix-web/"
@ -17,7 +17,6 @@ edition = "2018"
[badges]
travis-ci = { repository = "actix/actix-web", branch = "master" }
appveyor = { repository = "fafhrd91/actix-web-hdy9d" }
codecov = { repository = "actix/actix-web", branch = "master", service = "github" }
[lib]
@ -71,12 +70,12 @@ actix-service = "0.3.4"
actix-utils = "0.3.4"
actix-router = "0.1.0"
actix-rt = "0.2.2"
actix-web-codegen = { path="actix-web-codegen" }
actix-http = { path = "actix-http", features=["fail"] }
actix-web-codegen = "0.1.0-alpha.1"
actix-http = { version = "0.1.0-alpha.1", features=["fail"] }
actix-server = "0.4.1"
actix-server-config = "0.1.0"
actix-threadpool = "0.1.0"
awc = { path = "awc", optional = true }
awc = { version = "0.1.0-alpha.1", optional = true }
bytes = "0.4"
derive_more = "0.14"
@ -104,14 +103,14 @@ openssl = { version="0.10", optional = true }
# rustls = { version = "^0.15", optional = true }
[dev-dependencies]
actix-http = { path = "actix-http", features=["ssl", "brotli", "flate2-zlib"] }
actix-http-test = { path = "test-server", features=["ssl"] }
actix-http = { version = "0.1.0-alpha.1", features=["ssl", "brotli", "flate2-zlib"] }
actix-http-test = { version = "0.1.0-alpha.1", features=["ssl"] }
rand = "0.6"
env_logger = "0.6"
serde_derive = "1.0"
tokio-timer = "0.2.8"
brotli2 = { version="^0.3.2" }
flate2 = { version="^1.0.2" }
brotli2 = "^0.3.2"
flate2 = "^1.0.2"
[profile.release]
lto = true

View file

@ -1,4 +1,4 @@
# Actix web [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![Build status](https://ci.appveyor.com/api/projects/status/kkdb4yce7qhm5w85/branch/master?svg=true)](https://ci.appveyor.com/project/fafhrd91/actix-web-hdy9d/branch/master) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-web)](https://crates.io/crates/actix-web) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
# Actix web [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-web)](https://crates.io/crates/actix-web) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Actix web is a simple, pragmatic and extremely fast web framework for Rust.
@ -10,11 +10,10 @@ Actix web is a simple, pragmatic and extremely fast web framework for Rust.
* Configurable [request routing](https://actix.rs/docs/url-dispatch/)
* Multipart streams
* Static assets
* SSL support with OpenSSL or `native-tls`
* SSL support with OpenSSL or native-tls
* Middlewares ([Logger, Session, CORS, CSRF, etc](https://actix.rs/docs/middleware/))
* Includes an asynchronous [HTTP client](https://actix.rs/actix-web/actix_web/client/index.html)
* Supports [Actix actor framework](https://github.com/actix/actix)
* Experimental [Async/Await](https://github.com/mehcode/actix-web-async-await) support.
## Documentation & community resources
@ -36,8 +35,8 @@ fn index(info: web::Path<(u32, String)>) -> impl Responder {
fn main() -> std::io::Result<()> {
HttpServer::new(
|| App::new()
.service(web::resource("/{id}/{name}/index.html")
|| App::new().service(
web::resource("/{id}/{name}/index.html")
.route(web::get().to(index)))
.bind("127.0.0.1:8080")?
.run();

View file

@ -1,5 +1,5 @@
# Changes
## [0.1.0] - 2018-10-x
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -2,7 +2,7 @@
name = "actix-files"
version = "0.1.0-alpha.1"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Static files support for Actix web."
description = "Static files support for actix web."
readme = "README.md"
keywords = ["actix", "http", "async", "futures"]
homepage = "https://actix.rs"
@ -18,13 +18,13 @@ name = "actix_files"
path = "src/lib.rs"
[dependencies]
actix-web = { path=".." }
actix-http = { path="../actix-http" }
actix-web = "1.0.0-alpha.1"
actix-http = "0.1.0-alpha.1"
actix-service = "0.3.3"
bitflags = "1"
bytes = "0.4"
futures = "0.1"
futures = "0.1.25"
derive_more = "0.14"
log = "0.4"
mime = "0.3"
@ -33,4 +33,4 @@ percent-encoding = "1.0"
v_htmlescape = "0.4"
[dev-dependencies]
actix-web = { path="..", features=["ssl"] }
actix-web = { version = "1.0.0-alpha.1", features=["ssl"] }

View file

@ -1,82 +1 @@
# Actix web [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![Build status](https://ci.appveyor.com/api/projects/status/kkdb4yce7qhm5w85/branch/master?svg=true)](https://ci.appveyor.com/project/fafhrd91/actix-web-hdy9d/branch/master) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-web)](https://crates.io/crates/actix-web) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Actix web is a simple, pragmatic and extremely fast web framework for Rust.
* Supported *HTTP/1.x* and [*HTTP/2.0*](https://actix.rs/docs/http2/) protocols
* Streaming and pipelining
* Keep-alive and slow requests handling
* Client/server [WebSockets](https://actix.rs/docs/websockets/) support
* Transparent content compression/decompression (br, gzip, deflate)
* Configurable [request routing](https://actix.rs/docs/url-dispatch/)
* Multipart streams
* Static assets
* SSL support with OpenSSL or `native-tls`
* Middlewares ([Logger, Session, CORS, CSRF, etc](https://actix.rs/docs/middleware/))
* Includes an asynchronous [HTTP client](https://actix.rs/actix-web/actix_web/client/index.html)
* Built on top of [Actix actor framework](https://github.com/actix/actix)
* Experimental [Async/Await](https://github.com/mehcode/actix-web-async-await) support.
## Documentation & community resources
* [User Guide](https://actix.rs/docs/)
* [API Documentation (Development)](https://actix.rs/actix-web/actix_web/)
* [API Documentation (Releases)](https://actix.rs/api/actix-web/stable/actix_web/)
* [Chat on gitter](https://gitter.im/actix/actix)
* Cargo package: [actix-web](https://crates.io/crates/actix-web)
* Minimum supported Rust version: 1.31 or later
## Example
```rust
extern crate actix_web;
use actix_web::{http, server, App, Path, Responder};
fn index(info: Path<(u32, String)>) -> impl Responder {
format!("Hello {}! id:{}", info.1, info.0)
}
fn main() {
server::new(
|| App::new()
.route("/{id}/{name}/index.html", http::Method::GET, index))
.bind("127.0.0.1:8080").unwrap()
.run();
}
```
### More examples
* [Basics](https://github.com/actix/examples/tree/master/basics/)
* [Stateful](https://github.com/actix/examples/tree/master/state/)
* [Protobuf support](https://github.com/actix/examples/tree/master/protobuf/)
* [Multipart streams](https://github.com/actix/examples/tree/master/multipart/)
* [Simple websocket](https://github.com/actix/examples/tree/master/websocket/)
* [Tera](https://github.com/actix/examples/tree/master/template_tera/) /
[Askama](https://github.com/actix/examples/tree/master/template_askama/) templates
* [Diesel integration](https://github.com/actix/examples/tree/master/diesel/)
* [r2d2](https://github.com/actix/examples/tree/master/r2d2/)
* [SSL / HTTP/2.0](https://github.com/actix/examples/tree/master/tls/)
* [Tcp/Websocket chat](https://github.com/actix/examples/tree/master/websocket-chat/)
* [Json](https://github.com/actix/examples/tree/master/json/)
You may consider checking out
[this directory](https://github.com/actix/examples/tree/master/) for more examples.
## Benchmarks
* [TechEmpower Framework Benchmark](https://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=plaintext)
## License
This project is licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0))
* MIT license ([LICENSE-MIT](LICENSE-MIT) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
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.
# Static files support for actix web [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-files)](https://crates.io/crates/actix-files) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

View file

@ -98,7 +98,7 @@ openssl = { version="0.10", optional = true }
actix-rt = "0.2.2"
actix-server = { version = "0.4.0", features=["ssl"] }
actix-connect = { version = "0.1.0", features=["ssl"] }
actix-http-test = { path="../test-server", features=["ssl"] }
actix-http-test = { version = "0.1.0-alpha.1", features=["ssl"] }
env_logger = "0.6"
serde_derive = "1.0"

5
actix-session/CHANGES.md Normal file
View file

@ -0,0 +1,5 @@
# Changes
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -24,16 +24,16 @@ default = ["cookie-session"]
cookie-session = ["cookie/secure"]
[dependencies]
actix-web = { path=".." }
actix-web = "1.0.0-alpha.1"
actix-service = "0.3.3"
bytes = "0.4"
cookie = { version="0.11", features=["percent-encode"], optional=true }
derive_more = "0.14"
futures = "0.1"
futures = "0.1.25"
hashbrown = "0.1.8"
serde = "1.0"
serde_json = "1.0"
time = "0.1"
[dev-dependencies]
actix-rt = "0.2.1"
actix-rt = "0.2.2"

1
actix-session/README.md Normal file
View file

@ -0,0 +1 @@
# Session for actix web framework [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-session)](https://crates.io/crates/actix-session) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

View file

@ -0,0 +1,5 @@
# Changes
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -1,10 +1,10 @@
[package]
name = "actix-web-actors"
version = "0.1.0-alpha.1"
version = "1.0.0-alpha.1"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix actors support for actix web framework."
readme = "README.md"
keywords = ["http", "web", "framework", "async", "futures"]
keywords = ["actix", "http", "web", "framework", "async"]
homepage = "https://actix.rs"
repository = "https://github.com/actix/actix-web.git"
documentation = "https://docs.rs/actix-web-actors/"
@ -18,14 +18,14 @@ name = "actix_web_actors"
path = "src/lib.rs"
[dependencies]
actix-web = { path=".." }
actix = { git = "https://github.com/actix/actix.git" }
actix-http = { path = "../actix-http/" }
actix-codec = "0.1.1"
actix = "0.8.0-alpha.1"
actix-web = "1.0.0-alpha.1"
actix-http = "0.1.0-alpha.1"
actix-codec = "0.1.2"
bytes = "0.4"
futures = "0.1"
futures = "0.1.25"
[dev-dependencies]
env_logger = "0.6"
actix-http = { path = "../actix-http/", features=["ssl"] }
actix-http-test = { path = "../test-server/", features=["ssl"] }
actix-http = { version = "0.1.0-alpha.1", features=["ssl"] }
actix-http-test = { version = "0.1.0-alpha.1", features=["ssl"] }

View file

@ -0,0 +1 @@
Actix actors support for actix web framework [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-web-actors)](https://crates.io/crates/actix-web-actors) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

View file

@ -0,0 +1,5 @@
# Changes
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -1,7 +1,8 @@
[package]
name = "actix-web-codegen"
description = "Actix web codegen macros"
version = "0.1.0-alpha.1"
description = "Actix web proc macros"
readme = "README.md"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
license = "MIT/Apache-2.0"
edition = "2018"
@ -16,5 +17,5 @@ syn = { version = "0.15", features = ["full", "parsing"] }
[dev-dependencies]
actix-web = { path = ".." }
actix-http = { path = "../actix-http/", features=["ssl"] }
actix-http-test = { path = "../test-server/", features=["ssl"] }
actix-http = { version = "0.1.0-alpha.1", features=["ssl"] }
actix-http-test = { version = "0.1.0-alpha.1", features=["ssl"] }

View file

@ -0,0 +1 @@
# Macros for actix-web framework [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-web-codegen)](https://crates.io/crates/actix-web-codegen) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

5
awc/CHANGES.md Normal file
View file

@ -0,0 +1,5 @@
# Changes
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -2,9 +2,9 @@
name = "awc"
version = "0.1.0-alpha.1"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix web client."
description = "Actix http client."
readme = "README.md"
keywords = ["http", "web", "framework", "async", "futures"]
keywords = ["actix", "http", "framework", "async", "web"]
homepage = "https://actix.rs"
repository = "https://github.com/actix/actix-web.git"
documentation = "https://docs.rs/awc/"
@ -41,11 +41,11 @@ flate2-rust = ["actix-http/flate2-rust"]
[dependencies]
actix-codec = "0.1.1"
actix-service = "0.3.4"
actix-http = { path = "../actix-http/" }
actix-http = "0.1.0-alpha.1"
base64 = "0.10.1"
bytes = "0.4"
derive_more = "0.14"
futures = "0.1"
futures = "0.1.25"
log =" 0.4"
percent-encoding = "1.0"
rand = "0.6"
@ -57,14 +57,14 @@ cookie = { version="0.11", features=["percent-encode"], optional = true }
openssl = { version="0.10", optional = true }
[dev-dependencies]
actix-rt = "0.2.1"
actix-web = { path = "..", features=["ssl"] }
actix-http = { path = "../actix-http/", features=["ssl"] }
actix-http-test = { path = "../test-server/", features=["ssl"] }
actix-rt = "0.2.2"
actix-web = { version = "1.0.0-alpha.1", features=["ssl"] }
actix-http = { version = "0.1.0-alpha.1", features=["ssl"] }
actix-http-test = { version = "0.1.0-alpha.1", features=["ssl"] }
actix-utils = "0.3.4"
actix-server = { version = "0.4.0", features=["ssl"] }
brotli2 = { version="^0.3.2" }
flate2 = { version="^1.0.2" }
brotli2 = { version="0.3.2" }
flate2 = { version="1.0.2" }
env_logger = "0.6"
mime = "0.3"
rand = "0.6"

1
awc/README.md Normal file
View file

@ -0,0 +1 @@
# Actix http client [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/awc)](https://crates.io/crates/awc) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

5
test-server/CHANGES.md Normal file
View file

@ -0,0 +1,5 @@
# Changes
## [0.1.0-alpha.1] - 2019-03-28
* Initial impl

View file

@ -35,11 +35,11 @@ ssl = ["openssl", "actix-http/ssl", "actix-server/ssl", "awc/ssl"]
[dependencies]
actix-codec = "0.1.1"
actix-rt = "0.2.1"
actix-http = { path="../actix-http" }
actix-http = "0.1.0-alpha.1"
actix-service = "0.3.4"
actix-server = "0.4.0"
actix-utils = "0.3.4"
awc = { path = "../awc" }
awc = "0.1.0-alpha.1"
base64 = "0.10"
bytes = "0.4"
@ -61,4 +61,4 @@ tokio-timer = "0.2"
openssl = { version="0.10", optional = true }
[dev-dependencies]
actix-web = { path=".." }
actix-web = "1.0.0-alpha.1"

1
test-server/README.md Normal file
View file

@ -0,0 +1 @@
# Actix http test server [![Build Status](https://travis-ci.org/actix/actix-web.svg?branch=master)](https://travis-ci.org/actix/actix-web) [![codecov](https://codecov.io/gh/actix/actix-web/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-web) [![crates.io](https://meritbadge.herokuapp.com/actix-http-test)](https://crates.io/crates/actix-http-test) [![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)