1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-11-26 03:21:08 +00:00

upgrade to actix-net release

This commit is contained in:
Nikolay Kim 2019-12-11 19:20:20 +06:00
parent ef3a33b9d6
commit 131c897099
16 changed files with 71 additions and 75 deletions

View file

@ -60,21 +60,21 @@ secure-cookies = ["actix-http/secure-cookies"]
fail = ["actix-http/fail"] fail = ["actix-http/fail"]
# openssl # openssl
openssl = ["open-ssl", "actix-tls/openssl", "awc/openssl"] openssl = ["actix-tls/openssl", "awc/openssl"]
# rustls # rustls
rustls = ["rust-tls", "actix-tls/rustls", "awc/rustls"] rustls = ["actix-tls/rustls", "awc/rustls"]
[dependencies] [dependencies]
actix-codec = "0.2.0-alpha.3" actix-codec = "0.2.0"
actix-service = "1.0.0-alpha.4" actix-service = "1.0.0"
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.1"
actix-router = "0.2.0" actix-router = "0.2.0"
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-server = "1.0.0-alpha.4" actix-server = "1.0.0"
actix-testing = "1.0.0-alpha.3" actix-testing = "1.0.0"
actix-threadpool = "0.3.0" actix-threadpool = "0.3.0"
actix-tls = { version = "1.0.0-alpha.3" } actix-tls = "1.0.0"
actix-web-codegen = "0.2.0-alpha.2" actix-web-codegen = "0.2.0-alpha.2"
actix-http = "1.0.0-alpha.4" actix-http = "1.0.0-alpha.4"
@ -96,19 +96,17 @@ serde_urlencoded = "0.6.1"
time = "0.1.42" time = "0.1.42"
url = "2.1" url = "2.1"
# ssl support
open-ssl = { version="0.10", package="openssl", optional = true }
rust-tls = { version = "0.16", package="rustls", optional = true }
[dev-dependencies] [dev-dependencies]
# actix = "0.8.3" # actix = "0.8.3"
actix-connect = "1.0.0-alpha.3" actix-connect = "1.0.0"
actix-http-test = "1.0.0-alpha.3" actix-http-test = "1.0.0-alpha.3"
rand = "0.7" rand = "0.7"
env_logger = "0.6" env_logger = "0.6"
serde_derive = "1.0" serde_derive = "1.0"
brotli = "3.3.0" brotli = "3.3.0"
flate2 = "1.0.2" flate2 = "1.0.2"
open-ssl = { version="0.10", package = "openssl" }
rust_tls = { version = "0.16.0", package = "rustls" }
[profile.release] [profile.release]
lto = true lto = true

View file

@ -18,9 +18,9 @@ path = "src/lib.rs"
[dependencies] [dependencies]
actix-web = "2.0.0-alpha.3" actix-web = "2.0.0-alpha.3"
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
derive_more = "0.99.2" derive_more = "0.99.2"
futures = "0.3.1" futures = "0.3.1"
[dev-dependencies] [dev-dependencies]
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"

View file

@ -20,7 +20,7 @@ path = "src/lib.rs"
[dependencies] [dependencies]
actix-web = { version = "2.0.0-alpha.3", default-features = false } actix-web = { version = "2.0.0-alpha.3", default-features = false }
actix-http = "1.0.0-alpha.3" actix-http = "1.0.0-alpha.3"
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
bitflags = "1" bitflags = "1"
bytes = "0.5.2" bytes = "0.5.2"
futures = "0.3.1" futures = "0.3.1"
@ -32,5 +32,5 @@ percent-encoding = "2.1"
v_htmlescape = "0.4" v_htmlescape = "0.4"
[dev-dependencies] [dev-dependencies]
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-web = { version = "2.0.0-alpha.3", features=["openssl"] } actix-web = { version = "2.0.0-alpha.3", features=["openssl"] }

View file

@ -20,10 +20,10 @@ name = "actix_framed"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
actix-codec = "0.2.0-alpha.3" actix-codec = "0.2.0"
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
actix-router = "0.2.0" actix-router = "0.2.0"
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-http = "1.0.0-alpha.3" actix-http = "1.0.0-alpha.3"
bytes = "0.5.2" bytes = "0.5.2"
@ -32,7 +32,7 @@ pin-project = "0.4.6"
log = "0.4" log = "0.4"
[dev-dependencies] [dev-dependencies]
actix-server = { version = "1.0.0-alpha.3" } actix-server = "1.0.0"
actix-connect = { version = "1.0.0-alpha.3", features=["openssl"] } actix-connect = { version = "1.0.0", features=["openssl"] }
actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] } actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] }
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.0"

View file

@ -2,7 +2,7 @@ use actix_codec::{AsyncRead, AsyncWrite};
use actix_http::{body, http::StatusCode, ws, Error, HttpService, Response}; use actix_http::{body, http::StatusCode, ws, Error, HttpService, Response};
use actix_http_test::TestServer; use actix_http_test::TestServer;
use actix_service::{pipeline_factory, IntoServiceFactory, ServiceFactory}; use actix_service::{pipeline_factory, IntoServiceFactory, ServiceFactory};
use actix_utils::framed::FramedTransport; use actix_utils::framed::Dispatcher;
use bytes::BytesMut; use bytes::BytesMut;
use futures::{future, SinkExt, StreamExt}; use futures::{future, SinkExt, StreamExt};
@ -18,7 +18,7 @@ async fn ws_service<T: AsyncRead + AsyncWrite>(
.send((res, body::BodySize::None).into()) .send((res, body::BodySize::None).into())
.await .await
.unwrap(); .unwrap();
FramedTransport::new(framed.into_framed(ws::Codec::new()), service) Dispatcher::new(framed.into_framed(ws::Codec::new()), service)
.await .await
.unwrap(); .unwrap();

View file

@ -1,6 +1,6 @@
[package] [package]
name = "actix-http" name = "actix-http"
version = "1.0.0-alpha.5" version = "1.0.0-alpha.6"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"] authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix http primitives" description = "Actix http primitives"
readme = "README.md" readme = "README.md"
@ -44,13 +44,13 @@ fail = ["failure"]
secure-cookies = ["ring"] secure-cookies = ["ring"]
[dependencies] [dependencies]
actix-service = "1.0.0-alpha.4" actix-service = "1.0.0"
actix-codec = "0.2.0-alpha.3" actix-codec = "0.2.0"
actix-connect = "1.0.0-alpha.3" actix-connect = "1.0.0"
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.1"
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-threadpool = "0.3.0" actix-threadpool = "0.3.0"
actix-tls = { version = "1.0.0-alpha.3", optional = true } actix-tls = { version = "1.0.0", optional = true }
base64 = "0.11" base64 = "0.11"
bitflags = "1.0" bitflags = "1.0"
@ -92,10 +92,10 @@ flate2 = { version="1.0.7", optional = true, default-features = false }
failure = { version = "0.1.5", optional = true } failure = { version = "0.1.5", optional = true }
[dev-dependencies] [dev-dependencies]
actix-server = { version = "1.0.0-alpha.4" } actix-server = "1.0.0"
actix-connect = { version = "1.0.0-alpha.3", features=["openssl"] } actix-connect = { version = "1.0.0", features=["openssl"] }
actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] } actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] }
actix-tls = { version = "1.0.0-alpha.3", features=["openssl"] } actix-tls = { version = "1.0.0", features=["openssl"] }
env_logger = "0.6" env_logger = "0.6"
serde_derive = "1.0" serde_derive = "1.0"
open-ssl = { version="0.10", package = "openssl" } open-ssl = { version="0.10", package = "openssl" }

View file

@ -4,19 +4,19 @@ use std::task::{Context, Poll};
use actix_codec::{AsyncRead, AsyncWrite, Framed}; use actix_codec::{AsyncRead, AsyncWrite, Framed};
use actix_service::{IntoService, Service}; use actix_service::{IntoService, Service};
use actix_utils::framed::{FramedTransport, FramedTransportError}; use actix_utils::framed;
use super::{Codec, Frame, Message}; use super::{Codec, Frame, Message};
pub struct Transport<S, T> pub struct Dispatcher<S, T>
where where
S: Service<Request = Frame, Response = Message> + 'static, S: Service<Request = Frame, Response = Message> + 'static,
T: AsyncRead + AsyncWrite, T: AsyncRead + AsyncWrite,
{ {
inner: FramedTransport<S, T, Codec>, inner: framed::Dispatcher<S, T, Codec>,
} }
impl<S, T> Transport<S, T> impl<S, T> Dispatcher<S, T>
where where
T: AsyncRead + AsyncWrite, T: AsyncRead + AsyncWrite,
S: Service<Request = Frame, Response = Message>, S: Service<Request = Frame, Response = Message>,
@ -24,26 +24,26 @@ where
S::Error: 'static, S::Error: 'static,
{ {
pub fn new<F: IntoService<S>>(io: T, service: F) -> Self { pub fn new<F: IntoService<S>>(io: T, service: F) -> Self {
Transport { Dispatcher {
inner: FramedTransport::new(Framed::new(io, Codec::new()), service), inner: framed::Dispatcher::new(Framed::new(io, Codec::new()), service),
} }
} }
pub fn with<F: IntoService<S>>(framed: Framed<T, Codec>, service: F) -> Self { pub fn with<F: IntoService<S>>(framed: Framed<T, Codec>, service: F) -> Self {
Transport { Dispatcher {
inner: FramedTransport::new(framed, service), inner: framed::Dispatcher::new(framed, service),
} }
} }
} }
impl<S, T> Future for Transport<S, T> impl<S, T> Future for Dispatcher<S, T>
where where
T: AsyncRead + AsyncWrite, T: AsyncRead + AsyncWrite,
S: Service<Request = Frame, Response = Message>, S: Service<Request = Frame, Response = Message>,
S::Future: 'static, S::Future: 'static,
S::Error: 'static, S::Error: 'static,
{ {
type Output = Result<(), FramedTransportError<S::Error, Codec>>; type Output = Result<(), framed::DispatcherError<S::Error, Codec>>;
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> { fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
Pin::new(&mut self.inner).poll(cx) Pin::new(&mut self.inner).poll(cx)

View file

@ -13,15 +13,15 @@ use crate::message::RequestHead;
use crate::response::{Response, ResponseBuilder}; use crate::response::{Response, ResponseBuilder};
mod codec; mod codec;
mod dispatcher;
mod frame; mod frame;
mod mask; mod mask;
mod proto; mod proto;
mod transport;
pub use self::codec::{Codec, Frame, Message}; pub use self::codec::{Codec, Frame, Message};
pub use self::dispatcher::Dispatcher;
pub use self::frame::Parser; pub use self::frame::Parser;
pub use self::proto::{hash_key, CloseCode, CloseReason, OpCode}; pub use self::proto::{hash_key, CloseCode, CloseReason, OpCode};
pub use self::transport::Transport;
/// Websocket protocol errors /// Websocket protocol errors
#[derive(Debug, Display, From)] #[derive(Debug, Display, From)]

View file

@ -1,7 +1,7 @@
use actix_codec::{AsyncRead, AsyncWrite, Framed}; use actix_codec::{AsyncRead, AsyncWrite, Framed};
use actix_http::{body, h1, ws, Error, HttpService, Request, Response}; use actix_http::{body, h1, ws, Error, HttpService, Request, Response};
use actix_http_test::TestServer; use actix_http_test::TestServer;
use actix_utils::framed::FramedTransport; use actix_utils::framed::Dispatcher;
use bytes::BytesMut; use bytes::BytesMut;
use futures::future; use futures::future;
use futures::{SinkExt, StreamExt}; use futures::{SinkExt, StreamExt};
@ -16,7 +16,7 @@ async fn ws_service<T: AsyncRead + AsyncWrite + Unpin>(
.await .await
.unwrap(); .unwrap();
FramedTransport::new(framed.into_framed(ws::Codec::new()), service) Dispatcher::new(framed.into_framed(ws::Codec::new()), service)
.await .await
.map_err(|_| panic!()) .map_err(|_| panic!())
} }

View file

@ -18,13 +18,13 @@ path = "src/lib.rs"
[dependencies] [dependencies]
actix-web = { version = "2.0.0-alpha.3", default-features = false, features = ["secure-cookies"] } actix-web = { version = "2.0.0-alpha.3", default-features = false, features = ["secure-cookies"] }
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
futures = "0.3.1" futures = "0.3.1"
serde = "1.0" serde = "1.0"
serde_json = "1.0" serde_json = "1.0"
time = "0.1.42" time = "0.1.42"
[dev-dependencies] [dev-dependencies]
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-http = "1.0.0-alpha.3" actix-http = "1.0.0-alpha.3"
bytes = "0.5.2" bytes = "0.5.2"

View file

@ -19,8 +19,8 @@ path = "src/lib.rs"
[dependencies] [dependencies]
actix-web = { version = "2.0.0-alpha.3", default-features = false } actix-web = { version = "2.0.0-alpha.3", default-features = false }
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.0"
bytes = "0.5.2" bytes = "0.5.2"
derive_more = "0.99.2" derive_more = "0.99.2"
httparse = "1.3" httparse = "1.3"
@ -31,5 +31,5 @@ time = "0.1"
twoway = "0.2" twoway = "0.2"
[dev-dependencies] [dev-dependencies]
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-http = "1.0.0-alpha.3" actix-http = "1.0.0-alpha.3"

View file

@ -25,7 +25,7 @@ cookie-session = ["actix-web/secure-cookies"]
[dependencies] [dependencies]
actix-web = "2.0.0-alpha.3" actix-web = "2.0.0-alpha.3"
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
bytes = "0.5.2" bytes = "0.5.2"
derive_more = "0.99.2" derive_more = "0.99.2"
futures = "0.3.1" futures = "0.3.1"
@ -34,4 +34,4 @@ serde_json = "1.0"
time = "0.1.42" time = "0.1.42"
[dev-dependencies] [dev-dependencies]
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"

View file

@ -39,10 +39,10 @@ flate2-zlib = ["actix-http/flate2-zlib"]
flate2-rust = ["actix-http/flate2-rust"] flate2-rust = ["actix-http/flate2-rust"]
[dependencies] [dependencies]
actix-codec = "0.2.0-alpha.3" actix-codec = "0.2.0"
actix-service = "1.0.0-alpha.4" actix-service = "1.0.0"
actix-http = "1.0.0-alpha.4" actix-http = "1.0.0-alpha.4"
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
base64 = "0.11" base64 = "0.11"
bytes = "0.5.2" bytes = "0.5.2"
@ -59,13 +59,13 @@ 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.16.0", package="rustls", optional = true, features = ["dangerous_configuration"] }
[dev-dependencies] [dev-dependencies]
actix-connect = { version = "1.0.0-alpha.3", features=["openssl"] } actix-connect = { version = "1.0.0", features=["openssl"] }
actix-web = { version = "2.0.0-alpha.3", features=["openssl"] } actix-web = { version = "2.0.0-alpha.3", features=["openssl"] }
actix-http = { version = "1.0.0-alpha.4", features=["openssl"] } actix-http = { version = "1.0.0-alpha.4", features=["openssl"] }
actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] } actix-http-test = { version = "1.0.0-alpha.3", features=["openssl"] }
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.0"
actix-server = { version = "1.0.0-alpha.4" } actix-server = "1.0.0"
actix-tls = { version = "1.0.0-alpha.3", features=["openssl", "rustls"] } actix-tls = { version = "1.0.0", features=["openssl", "rustls"] }
brotli = "3.3.0" brotli = "3.3.0"
flate2 = { version="1.0.2" } flate2 = { version="1.0.2" }
env_logger = "0.6" env_logger = "0.6"

View file

@ -42,7 +42,7 @@ async fn test_simple() {
// start websocket service // start websocket service
let framed = framed.into_framed(ws::Codec::new()); let framed = framed.into_framed(ws::Codec::new());
ws::Transport::with(framed, ws_service).await ws::Dispatcher::with(framed, ws_service).await
} }
}) })
.finish(|_| ok::<_, Error>(Response::NotFound())) .finish(|_| ok::<_, Error>(Response::NotFound()))

View file

@ -12,7 +12,7 @@ use futures::future::ok;
use net2::TcpBuilder; use net2::TcpBuilder;
#[cfg(feature = "openssl")] #[cfg(feature = "openssl")]
use actix_tls::openssl::{SslAcceptor, SslAcceptorBuilder}; use actix_tls::openssl::{AlpnError, SslAcceptor, SslAcceptorBuilder};
#[cfg(feature = "rustls")] #[cfg(feature = "rustls")]
use actix_tls::rustls::ServerConfig as RustlsServerConfig; use actix_tls::rustls::ServerConfig as RustlsServerConfig;
@ -549,8 +549,6 @@ fn create_tcp_listener(
#[cfg(feature = "openssl")] #[cfg(feature = "openssl")]
/// Configure `SslAcceptorBuilder` with custom server flags. /// Configure `SslAcceptorBuilder` with custom server flags.
fn openssl_acceptor(mut builder: SslAcceptorBuilder) -> io::Result<SslAcceptor> { fn openssl_acceptor(mut builder: SslAcceptorBuilder) -> io::Result<SslAcceptor> {
use open_ssl::ssl::AlpnError;
builder.set_alpn_select_callback(|_, protos| { builder.set_alpn_select_callback(|_, protos| {
const H2: &[u8] = b"\x02h2"; const H2: &[u8] = b"\x02h2";
const H11: &[u8] = b"\x08http/1.1"; const H11: &[u8] = b"\x08http/1.1";

View file

@ -30,13 +30,13 @@ default = []
openssl = ["open-ssl", "awc/openssl", ] # "actix-tls/openssl"] openssl = ["open-ssl", "awc/openssl", ] # "actix-tls/openssl"]
[dependencies] [dependencies]
actix-service = "1.0.0-alpha.3" actix-service = "1.0.0"
actix-codec = "0.2.0-alpha.3" actix-codec = "0.2.0"
actix-connect = "1.0.0-alpha.3" actix-connect = "1.0.0"
actix-utils = "1.0.0-alpha.3" actix-utils = "1.0.0"
actix-rt = "1.0.0-alpha.3" actix-rt = "1.0.0"
actix-server = "1.0.0-alpha.3" actix-server = "1.0.0"
actix-testing = "1.0.0-alpha.3" actix-testing = "1.0.0"
awc = "1.0.0-alpha.3" awc = "1.0.0-alpha.3"
base64 = "0.11" base64 = "0.11"