Merge branch 'master' of https://github.com/actix/actix-web into h2-speed-1393

This commit is contained in:
Maksym Vorobiov 2020-03-05 11:51:24 +02:00
commit a19cae8472
9 changed files with 30 additions and 30 deletions

View File

@ -10,10 +10,10 @@
### Changed ### Changed
* Use `sha-1` crate instead of unmaintained `sha1` crate * Use `sha-1` crate instead of unmaintained `sha1` crate
* Skip empty chunks when returning response from a `Stream` #1308 * Skip empty chunks when returning response from a `Stream` #1308
* Update the `time` dependency to 0.2.7 * Update the `time` dependency to 0.2.7
* Update `actix-tls` dependency to 2.0.0-alpha.1
* Update `rustls` dependency to 0.17
## [2.0.0] - 2019-12-25 ## [2.0.0] - 2019-12-25

View File

@ -68,7 +68,7 @@ actix-server = "1.0.0"
actix-testing = "1.0.0" actix-testing = "1.0.0"
actix-macros = "0.1.0" actix-macros = "0.1.0"
actix-threadpool = "0.3.1" actix-threadpool = "0.3.1"
actix-tls = "1.0.0" actix-tls = "2.0.0-alpha.1"
actix-web-codegen = "0.2.0" actix-web-codegen = "0.2.0"
actix-http = "2.0.0-alpha.1" actix-http = "2.0.0-alpha.1"
@ -90,7 +90,7 @@ serde_urlencoded = "0.6.1"
time = { version = "0.2.7", default-features = false, features = ["std"] } time = { version = "0.2.7", default-features = false, features = ["std"] }
url = "2.1" url = "2.1"
open-ssl = { version="0.10", package = "openssl", optional = true } open-ssl = { version="0.10", package = "openssl", optional = true }
rust-tls = { version = "0.16.0", package = "rustls", optional = true } rust-tls = { version = "0.17.0", package = "rustls", optional = true }
[dev-dependencies] [dev-dependencies]
actix = "0.10.0-alpha.1" actix = "0.10.0-alpha.1"

View File

@ -32,6 +32,6 @@ log = "0.4"
[dev-dependencies] [dev-dependencies]
actix-server = "1.0.0" actix-server = "1.0.0"
actix-connect = { version = "1.0.0", features=["openssl"] } actix-connect = { version = "2.0.0-alpha.1", features=["openssl"] }
actix-http-test = { version = "1.0.0", features=["openssl"] } actix-http-test = { version = "1.0.0", features=["openssl"] }
actix-utils = "1.0.3" actix-utils = "1.0.3"

View File

@ -1,9 +1,11 @@
# Changes # Changes
## [NEXT] - 2020-02-27 ## [2.0.0-alpha.2] - someday
### Changed ### Changed
* Update `actix-connect` and `actix-tls` dependency to 2.0.0-alpha.1
* Change default initial window size and connection window size for HTTP2 to 2MB and 1MB respectively to improve download speed for awc when downloading large objects. * Change default initial window size and connection window size for HTTP2 to 2MB and 1MB respectively to improve download speed for awc when downloading large objects.
* client::Connector accepts initial_window_size and initial_connection_window_size HTTP2 configuration * client::Connector accepts initial_window_size and initial_connection_window_size HTTP2 configuration
@ -15,11 +17,8 @@
### Changed ### Changed
* Update the `time` dependency to 0.2.7. * Update the `time` dependency to 0.2.7.
* Moved actors messages support from actix crate, enabled with feature `actors`. * Moved actors messages support from actix crate, enabled with feature `actors`.
* Breaking change: trait MessageBody requires Unpin and accepting Pin<&mut Self> instead of &mut self in the poll_next(). * Breaking change: trait MessageBody requires Unpin and accepting Pin<&mut Self> instead of &mut self in the poll_next().
* MessageBody is not implemented for &'static [u8] anymore. * MessageBody is not implemented for &'static [u8] anymore.
### Fixed ### Fixed

View File

@ -45,11 +45,11 @@ actors = ["actix"]
[dependencies] [dependencies]
actix-service = "1.0.5" actix-service = "1.0.5"
actix-codec = "0.2.0" actix-codec = "0.2.0"
actix-connect = "1.0.2" actix-connect = "2.0.0-alpha.1"
actix-utils = "1.0.6" actix-utils = "1.0.6"
actix-rt = "1.0.0" actix-rt = "1.0.0"
actix-threadpool = "0.3.1" actix-threadpool = "0.3.1"
actix-tls = { version = "1.0.0", optional = true } actix-tls = { version = "2.0.0-alpha.1", optional = true }
actix = { version = "0.10.0-alpha.1", optional = true } actix = { version = "0.10.0-alpha.1", optional = true }
base64 = "0.11" base64 = "0.11"
@ -94,15 +94,15 @@ fail-ure = { version = "0.1.5", package="failure", optional = true }
[dev-dependencies] [dev-dependencies]
actix-server = "1.0.1" actix-server = "1.0.1"
actix-connect = { version = "1.0.2", features=["openssl"] } actix-connect = { version = "2.0.0-alpha.1", features=["openssl"] }
actix-http-test = { version = "1.0.0", features=["openssl"] } actix-http-test = { version = "1.0.0", features=["openssl"] }
actix-tls = { version = "1.0.0", features=["openssl"] } actix-tls = { version = "2.0.0-alpha.1", features=["openssl"] }
criterion = "0.3" criterion = "0.3"
futures = "0.3.1" futures = "0.3.1"
env_logger = "0.7" env_logger = "0.7"
serde_derive = "1.0" serde_derive = "1.0"
open-ssl = { version="0.10", package = "openssl" } open-ssl = { version="0.10", package = "openssl" }
rust-tls = { version="0.16", package = "rustls" } rust-tls = { version="0.17", package = "rustls" }
[[bench]] [[bench]]
name = "content-length" name = "content-length"

View File

@ -73,7 +73,7 @@ where
U::Error: fmt::Display, U::Error: fmt::Display,
{ {
Normal(#[pin] InnerDispatcher<T, S, B, X, U>), Normal(#[pin] InnerDispatcher<T, S, B, X, U>),
Upgrade(#[pin] U::Future), Upgrade(Pin<Box<U::Future>>),
} }
#[pin_project] #[pin_project]
@ -123,8 +123,8 @@ where
B: MessageBody, B: MessageBody,
{ {
None, None,
ExpectCall(#[pin] X::Future), ExpectCall(Pin<Box<X::Future>>),
ServiceCall(#[pin] S::Future), ServiceCall(Pin<Box<S::Future>>),
SendPayload(#[pin] ResponseBody<B>), SendPayload(#[pin] ResponseBody<B>),
} }
@ -391,11 +391,11 @@ where
} }
None => None, None => None,
}, },
State::ExpectCall(fut) => match fut.poll(cx) { State::ExpectCall(fut) => match fut.as_mut().poll(cx) {
Poll::Ready(Ok(req)) => { Poll::Ready(Ok(req)) => {
self.as_mut().send_continue(); self.as_mut().send_continue();
this = self.as_mut().project(); this = self.as_mut().project();
this.state.set(State::ServiceCall(this.service.call(req))); this.state.set(State::ServiceCall(Box::pin(this.service.call(req))));
continue; continue;
} }
Poll::Ready(Err(e)) => { Poll::Ready(Err(e)) => {
@ -405,7 +405,7 @@ where
} }
Poll::Pending => None, Poll::Pending => None,
}, },
State::ServiceCall(fut) => match fut.poll(cx) { State::ServiceCall(fut) => match fut.as_mut().poll(cx) {
Poll::Ready(Ok(res)) => { Poll::Ready(Ok(res)) => {
let (res, body) = res.into().replace_body(()); let (res, body) = res.into().replace_body(());
let state = self.as_mut().send_response(res, body)?; let state = self.as_mut().send_response(res, body)?;
@ -485,8 +485,8 @@ where
) -> Result<State<S, B, X>, DispatchError> { ) -> Result<State<S, B, X>, DispatchError> {
// Handle `EXPECT: 100-Continue` header // Handle `EXPECT: 100-Continue` header
let req = if req.head().expect() { let req = if req.head().expect() {
let mut task = self.as_mut().project().expect.call(req); let mut task = Box::pin(self.as_mut().project().expect.call(req));
match unsafe { Pin::new_unchecked(&mut task) }.poll(cx) { match task.as_mut().poll(cx) {
Poll::Ready(Ok(req)) => { Poll::Ready(Ok(req)) => {
self.as_mut().send_continue(); self.as_mut().send_continue();
req req
@ -504,8 +504,8 @@ where
}; };
// Call service // Call service
let mut task = self.as_mut().project().service.call(req); let mut task = Box::pin(self.as_mut().project().service.call(req));
match unsafe { Pin::new_unchecked(&mut task) }.poll(cx) { match task.as_mut().poll(cx) {
Poll::Ready(Ok(res)) => { Poll::Ready(Ok(res)) => {
let (res, body) = res.into().replace_body(()); let (res, body) = res.into().replace_body(());
self.send_response(res, body) self.send_response(res, body)
@ -807,7 +807,7 @@ where
self.as_mut() self.as_mut()
.project() .project()
.inner .inner
.set(DispatcherState::Upgrade(upgrade)); .set(DispatcherState::Upgrade(Box::pin(upgrade)));
return self.poll(cx); return self.poll(cx);
} }
@ -855,7 +855,7 @@ where
} }
} }
} }
DispatcherState::Upgrade(fut) => fut.poll(cx).map_err(|e| { DispatcherState::Upgrade(fut) => fut.as_mut().poll(cx).map_err(|e| {
error!("Upgrade handler error: {}", e); error!("Upgrade handler error: {}", e);
DispatchError::Upgrade DispatchError::Upgrade
}), }),

View File

@ -51,16 +51,16 @@ serde = "1.0"
serde_json = "1.0" serde_json = "1.0"
serde_urlencoded = "0.6.1" serde_urlencoded = "0.6.1"
open-ssl = { version="0.10", package="openssl", optional = true } open-ssl = { version="0.10", package="openssl", optional = true }
rust-tls = { version = "0.16.0", package="rustls", optional = true, features = ["dangerous_configuration"] } rust-tls = { version = "0.17.0", package="rustls", optional = true, features = ["dangerous_configuration"] }
[dev-dependencies] [dev-dependencies]
actix-connect = { version = "1.0.1", features=["openssl"] } actix-connect = { version = "2.0.0-alpha.1", features=["openssl"] }
actix-web = { version = "2.0.0", features=["openssl"] } actix-web = { version = "2.0.0", features=["openssl"] }
actix-http = { version = "2.0.0-alpha.1", features=["openssl"] } actix-http = { version = "2.0.0-alpha.1", features=["openssl"] }
actix-http-test = { version = "1.0.0", features=["openssl"] } actix-http-test = { version = "1.0.0", features=["openssl"] }
actix-utils = "1.0.3" actix-utils = "1.0.3"
actix-server = "1.0.0" actix-server = "1.0.0"
actix-tls = { version = "1.0.0", features=["openssl", "rustls"] } actix-tls = { version = "2.0.0-alpha.1", features=["openssl", "rustls"] }
brotli2 = "0.3.2" brotli2 = "0.3.2"
flate2 = "1.0.13" flate2 = "1.0.13"
futures = "0.3.1" futures = "0.3.1"

View File

@ -3,6 +3,7 @@
## [Unreleased] - 2020-xx-xx ## [Unreleased] - 2020-xx-xx
* Update the `time` dependency to 0.2.7 * Update the `time` dependency to 0.2.7
* Update `actix-connect` dependency to 2.0.0-alpha.1
## [1.0.0] - 2019-12-13 ## [1.0.0] - 2019-12-13

View File

@ -32,7 +32,7 @@ openssl = ["open-ssl", "awc/openssl"]
[dependencies] [dependencies]
actix-service = "1.0.1" actix-service = "1.0.1"
actix-codec = "0.2.0" actix-codec = "0.2.0"
actix-connect = "1.0.0" actix-connect = "2.0.0-alpha.1"
actix-utils = "1.0.3" actix-utils = "1.0.3"
actix-rt = "1.0.0" actix-rt = "1.0.0"
actix-server = "1.0.0" actix-server = "1.0.0"