mirror of
https://github.com/fafhrd91/actix-web
synced 2025-06-25 06:39:22 +02:00
update to latest actix-net
This commit is contained in:
@ -67,7 +67,8 @@ actix-web = { version = "2.0.0-alpha.1", features=["openssl"] }
|
||||
actix-http = { version = "0.3.0-alpha.1", features=["openssl"] }
|
||||
actix-http-test = { version = "0.3.0-alpha.1", features=["openssl"] }
|
||||
actix-utils = "0.5.0-alpha.1"
|
||||
actix-server = { version = "0.8.0-alpha.1", features=["openssl"] }
|
||||
actix-server = { version = "0.8.0-alpha.2" }
|
||||
#actix-tls = { version = "0.1.0-alpha.1", features=["openssl"] }
|
||||
brotli2 = { version="0.3.2" }
|
||||
flate2 = { version="1.0.2" }
|
||||
env_logger = "0.6"
|
||||
|
@ -49,6 +49,7 @@ async fn test_simple() {
|
||||
HttpService::new(App::new().service(
|
||||
web::resource("/").route(web::to(|| HttpResponse::Ok().body(STR))),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let request = srv.get("/").header("x-test", "111").send();
|
||||
@ -77,6 +78,7 @@ async fn test_json() {
|
||||
HttpService::new(App::new().service(
|
||||
web::resource("/").route(web::to(|_: web::Json<String>| HttpResponse::Ok())),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let request = srv
|
||||
@ -93,6 +95,7 @@ async fn test_form() {
|
||||
HttpService::new(App::new().service(web::resource("/").route(web::to(
|
||||
|_: web::Form<HashMap<String, String>>| HttpResponse::Ok(),
|
||||
))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let mut data = HashMap::new();
|
||||
@ -112,6 +115,7 @@ async fn test_timeout() {
|
||||
Ok::<_, Error>(HttpResponse::Ok().body(STR))
|
||||
}
|
||||
}))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let connector = awc::Connector::new()
|
||||
@ -142,6 +146,7 @@ async fn test_timeout_override() {
|
||||
Ok::<_, Error>(HttpResponse::Ok().body(STR))
|
||||
}
|
||||
}))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let client = awc::Client::build()
|
||||
@ -168,9 +173,13 @@ async fn test_connection_reuse() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(HttpService::new(
|
||||
App::new().service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
||||
))
|
||||
.and_then(
|
||||
HttpService::new(
|
||||
App::new()
|
||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
||||
)
|
||||
.tcp(),
|
||||
)
|
||||
});
|
||||
|
||||
let client = awc::Client::default();
|
||||
@ -200,9 +209,13 @@ async fn test_connection_force_close() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(HttpService::new(
|
||||
App::new().service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
||||
))
|
||||
.and_then(
|
||||
HttpService::new(
|
||||
App::new()
|
||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
||||
)
|
||||
.tcp(),
|
||||
)
|
||||
});
|
||||
|
||||
let client = awc::Client::default();
|
||||
@ -232,12 +245,15 @@ async fn test_connection_server_close() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(HttpService::new(
|
||||
App::new().service(
|
||||
web::resource("/")
|
||||
.route(web::to(|| HttpResponse::Ok().force_close().finish())),
|
||||
),
|
||||
))
|
||||
.and_then(
|
||||
HttpService::new(
|
||||
App::new().service(
|
||||
web::resource("/")
|
||||
.route(web::to(|| HttpResponse::Ok().force_close().finish())),
|
||||
),
|
||||
)
|
||||
.tcp(),
|
||||
)
|
||||
});
|
||||
|
||||
let client = awc::Client::default();
|
||||
@ -267,9 +283,12 @@ async fn test_connection_wait_queue() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(HttpService::new(App::new().service(
|
||||
web::resource("/").route(web::to(|| HttpResponse::Ok().body(STR))),
|
||||
)))
|
||||
.and_then(
|
||||
HttpService::new(App::new().service(
|
||||
web::resource("/").route(web::to(|| HttpResponse::Ok().body(STR))),
|
||||
))
|
||||
.tcp(),
|
||||
)
|
||||
});
|
||||
|
||||
let client = awc::Client::build()
|
||||
@ -308,12 +327,15 @@ async fn test_connection_wait_queue_force_close() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(HttpService::new(
|
||||
App::new().service(
|
||||
web::resource("/")
|
||||
.route(web::to(|| HttpResponse::Ok().force_close().body(STR))),
|
||||
),
|
||||
))
|
||||
.and_then(
|
||||
HttpService::new(
|
||||
App::new().service(
|
||||
web::resource("/")
|
||||
.route(web::to(|| HttpResponse::Ok().force_close().body(STR))),
|
||||
),
|
||||
)
|
||||
.tcp(),
|
||||
)
|
||||
});
|
||||
|
||||
let client = awc::Client::build()
|
||||
@ -353,6 +375,7 @@ async fn test_with_query_parameter() {
|
||||
}
|
||||
},
|
||||
)))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let res = awc::Client::new()
|
||||
@ -373,6 +396,7 @@ async fn test_no_decompress() {
|
||||
res
|
||||
})),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let mut res = awc::Client::new()
|
||||
@ -419,6 +443,7 @@ async fn test_client_gzip_encoding() {
|
||||
.header("content-encoding", "gzip")
|
||||
.body(data)
|
||||
}))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// client request
|
||||
@ -442,6 +467,7 @@ async fn test_client_gzip_encoding_large() {
|
||||
.header("content-encoding", "gzip")
|
||||
.body(data)
|
||||
}))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// client request
|
||||
@ -471,6 +497,7 @@ async fn test_client_gzip_encoding_large_random() {
|
||||
.body(data)
|
||||
},
|
||||
))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// client request
|
||||
@ -495,6 +522,7 @@ async fn test_client_brotli_encoding() {
|
||||
.body(data)
|
||||
},
|
||||
))))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// client request
|
||||
@ -707,6 +735,7 @@ async fn test_client_cookie_handling() {
|
||||
}
|
||||
}),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
let request = srv.get("/").cookie(cookie1.clone()).cookie(cookie2.clone());
|
||||
@ -768,6 +797,7 @@ async fn client_basic_auth() {
|
||||
}
|
||||
}),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// set authorization header to Basic <base64 encoded username:password>
|
||||
@ -796,6 +826,7 @@ async fn client_bearer_auth() {
|
||||
}
|
||||
}),
|
||||
))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// set authorization header to Bearer <token>
|
||||
|
@ -1,20 +1,16 @@
|
||||
#![cfg(feature = "openssl")]
|
||||
use open_ssl::ssl::{SslAcceptor, SslConnector, SslFiletype, SslMethod, SslVerifyMode};
|
||||
|
||||
use std::io::Result;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
use std::sync::Arc;
|
||||
|
||||
use actix_codec::{AsyncRead, AsyncWrite};
|
||||
use actix_http::HttpService;
|
||||
use actix_http_test::TestServer;
|
||||
use actix_server::ssl::OpensslAcceptor;
|
||||
use actix_service::{pipeline_factory, ServiceFactory};
|
||||
use actix_web::http::Version;
|
||||
use actix_web::{web, App, HttpResponse};
|
||||
use futures::future::ok;
|
||||
use open_ssl::ssl::{SslAcceptor, SslConnector, SslFiletype, SslMethod, SslVerifyMode};
|
||||
|
||||
fn ssl_acceptor<T: AsyncRead + AsyncWrite>() -> Result<OpensslAcceptor<T, ()>> {
|
||||
fn ssl_acceptor() -> SslAcceptor {
|
||||
// load ssl keys
|
||||
let mut builder = SslAcceptor::mozilla_intermediate(SslMethod::tls()).unwrap();
|
||||
builder
|
||||
@ -31,13 +27,12 @@ fn ssl_acceptor<T: AsyncRead + AsyncWrite>() -> Result<OpensslAcceptor<T, ()>> {
|
||||
Err(open_ssl::ssl::AlpnError::NOACK)
|
||||
}
|
||||
});
|
||||
builder.set_alpn_protos(b"\x02h2")?;
|
||||
Ok(actix_server::ssl::OpensslAcceptor::new(builder.build()))
|
||||
builder.set_alpn_protos(b"\x02h2").unwrap();
|
||||
builder.build()
|
||||
}
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_connection_reuse_h2() {
|
||||
let openssl = ssl_acceptor().unwrap();
|
||||
let num = Arc::new(AtomicUsize::new(0));
|
||||
let num2 = num.clone();
|
||||
|
||||
@ -47,15 +42,11 @@ async fn test_connection_reuse_h2() {
|
||||
num2.fetch_add(1, Ordering::Relaxed);
|
||||
ok(io)
|
||||
})
|
||||
.and_then(
|
||||
openssl
|
||||
.clone()
|
||||
.map_err(|e| println!("Openssl error: {}", e)),
|
||||
)
|
||||
.and_then(
|
||||
HttpService::build()
|
||||
.h2(App::new()
|
||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))))
|
||||
.openssl(ssl_acceptor())
|
||||
.map_err(|_| ()),
|
||||
)
|
||||
});
|
||||
|
@ -46,6 +46,7 @@ async fn test_simple() {
|
||||
}
|
||||
})
|
||||
.finish(|_| ok::<_, Error>(Response::NotFound()))
|
||||
.tcp()
|
||||
});
|
||||
|
||||
// client service
|
||||
|
Reference in New Issue
Block a user