mirror of https://github.com/fafhrd91/actix-web
Fix/suppress clippy warnings
This commit is contained in:
parent
cb80a85454
commit
a25e37d84b
|
@ -26,7 +26,6 @@ use actix_web::{web, FromRequest, HttpRequest, HttpResponse};
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
use futures_core::Stream;
|
use futures_core::Stream;
|
||||||
use futures_util::future::{ok, ready, Either, FutureExt, LocalBoxFuture, Ready};
|
use futures_util::future::{ok, ready, Either, FutureExt, LocalBoxFuture, Ready};
|
||||||
use mime;
|
|
||||||
use mime_guess::from_ext;
|
use mime_guess::from_ext;
|
||||||
use percent_encoding::{utf8_percent_encode, CONTROLS};
|
use percent_encoding::{utf8_percent_encode, CONTROLS};
|
||||||
use v_htmlescape::escape as escape_html_entity;
|
use v_htmlescape::escape as escape_html_entity;
|
||||||
|
@ -250,6 +249,8 @@ pub struct Files {
|
||||||
renderer: Rc<DirectoryRenderer>,
|
renderer: Rc<DirectoryRenderer>,
|
||||||
mime_override: Option<Rc<MimeOverride>>,
|
mime_override: Option<Rc<MimeOverride>>,
|
||||||
file_flags: named::Flags,
|
file_flags: named::Flags,
|
||||||
|
// FIXME: Should re-visit later.
|
||||||
|
#[allow(clippy::redundant_allocation)]
|
||||||
guards: Option<Rc<Box<dyn Guard>>>,
|
guards: Option<Rc<Box<dyn Guard>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,6 +463,8 @@ pub struct FilesService {
|
||||||
renderer: Rc<DirectoryRenderer>,
|
renderer: Rc<DirectoryRenderer>,
|
||||||
mime_override: Option<Rc<MimeOverride>>,
|
mime_override: Option<Rc<MimeOverride>>,
|
||||||
file_flags: named::Flags,
|
file_flags: named::Flags,
|
||||||
|
// FIXME: Should re-visit later.
|
||||||
|
#[allow(clippy::redundant_allocation)]
|
||||||
guards: Option<Rc<Box<dyn Guard>>>,
|
guards: Option<Rc<Box<dyn Guard>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,11 +504,8 @@ impl Service for FilesService {
|
||||||
// execute user defined guards
|
// execute user defined guards
|
||||||
(**guard).check(req.head())
|
(**guard).check(req.head())
|
||||||
} else {
|
} else {
|
||||||
// default behaviour
|
// default behavior
|
||||||
match *req.method() {
|
matches!(*req.method(), Method::HEAD | Method::GET)
|
||||||
Method::HEAD | Method::GET => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if !is_method_valid {
|
if !is_method_valid {
|
||||||
|
|
|
@ -8,7 +8,6 @@ use std::time::{SystemTime, UNIX_EPOCH};
|
||||||
use std::os::unix::fs::MetadataExt;
|
use std::os::unix::fs::MetadataExt;
|
||||||
|
|
||||||
use bitflags::bitflags;
|
use bitflags::bitflags;
|
||||||
use mime;
|
|
||||||
use mime_guess::from_path;
|
use mime_guess::from_path;
|
||||||
|
|
||||||
use actix_http::body::SizedStream;
|
use actix_http::body::SizedStream;
|
||||||
|
@ -90,7 +89,7 @@ impl NamedFile {
|
||||||
};
|
};
|
||||||
|
|
||||||
let ct = from_path(&path).first_or_octet_stream();
|
let ct = from_path(&path).first_or_octet_stream();
|
||||||
let disposition_type = match ct.type_() {
|
let disposition = match ct.type_() {
|
||||||
mime::IMAGE | mime::TEXT | mime::VIDEO => DispositionType::Inline,
|
mime::IMAGE | mime::TEXT | mime::VIDEO => DispositionType::Inline,
|
||||||
_ => DispositionType::Attachment,
|
_ => DispositionType::Attachment,
|
||||||
};
|
};
|
||||||
|
@ -104,8 +103,8 @@ impl NamedFile {
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
let cd = ContentDisposition {
|
let cd = ContentDisposition {
|
||||||
disposition: disposition_type,
|
disposition,
|
||||||
parameters: parameters,
|
parameters,
|
||||||
};
|
};
|
||||||
(ct, cd)
|
(ct, cd)
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,10 +21,7 @@ pub enum BodySize {
|
||||||
|
|
||||||
impl BodySize {
|
impl BodySize {
|
||||||
pub fn is_eof(&self) -> bool {
|
pub fn is_eof(&self) -> bool {
|
||||||
match self {
|
matches!(self, BodySize::None | BodySize::Empty | BodySize::Sized(0))
|
||||||
BodySize::None | BodySize::Empty | BodySize::Sized(0) => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -604,10 +601,6 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_body_eq() {
|
async fn test_body_eq() {
|
||||||
assert!(Body::None == Body::None);
|
|
||||||
assert!(Body::None != Body::Empty);
|
|
||||||
assert!(Body::Empty == Body::Empty);
|
|
||||||
assert!(Body::Empty != Body::None);
|
|
||||||
assert!(
|
assert!(
|
||||||
Body::Bytes(Bytes::from_static(b"1"))
|
Body::Bytes(Bytes::from_static(b"1"))
|
||||||
== Body::Bytes(Bytes::from_static(b"1"))
|
== Body::Bytes(Bytes::from_static(b"1"))
|
||||||
|
@ -619,7 +612,7 @@ mod tests {
|
||||||
async fn test_body_debug() {
|
async fn test_body_debug() {
|
||||||
assert!(format!("{:?}", Body::None).contains("Body::None"));
|
assert!(format!("{:?}", Body::None).contains("Body::None"));
|
||||||
assert!(format!("{:?}", Body::Empty).contains("Body::Empty"));
|
assert!(format!("{:?}", Body::Empty).contains("Body::Empty"));
|
||||||
assert!(format!("{:?}", Body::Bytes(Bytes::from_static(b"1"))).contains("1"));
|
assert!(format!("{:?}", Body::Bytes(Bytes::from_static(b"1"))).contains('1'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
|
|
@ -964,7 +964,6 @@ impl ResponseError for actix::actors::resolver::ResolverError {}
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use http::{Error as HttpError, StatusCode};
|
use http::{Error as HttpError, StatusCode};
|
||||||
use httparse;
|
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -132,19 +132,11 @@ where
|
||||||
B: MessageBody,
|
B: MessageBody,
|
||||||
{
|
{
|
||||||
fn is_empty(&self) -> bool {
|
fn is_empty(&self) -> bool {
|
||||||
if let State::None = self {
|
matches!(self, State::None)
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_call(&self) -> bool {
|
fn is_call(&self) -> bool {
|
||||||
if let State::ServiceCall(_) = self {
|
matches!(self, State::ServiceCall(_))
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
enum PollResponse {
|
enum PollResponse {
|
||||||
|
|
|
@ -167,7 +167,6 @@ where
|
||||||
mod tests {
|
mod tests {
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
use encoding_rs::ISO_8859_2;
|
use encoding_rs::ISO_8859_2;
|
||||||
use mime;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::test::TestRequest;
|
use crate::test::TestRequest;
|
||||||
|
|
|
@ -139,7 +139,7 @@ mod tests {
|
||||||
let mut masked = unmasked.clone();
|
let mut masked = unmasked.clone();
|
||||||
apply_mask_fallback(&mut masked[1..], &mask);
|
apply_mask_fallback(&mut masked[1..], &mask);
|
||||||
|
|
||||||
let mut masked_fast = unmasked.clone();
|
let mut masked_fast = unmasked;
|
||||||
apply_mask(&mut masked_fast[1..], mask_u32);
|
apply_mask(&mut masked_fast[1..], mask_u32);
|
||||||
|
|
||||||
assert_eq!(masked, masked_fast);
|
assert_eq!(masked, masked_fast);
|
||||||
|
|
|
@ -9,8 +9,6 @@ use std::{cmp, fmt};
|
||||||
|
|
||||||
use bytes::{Bytes, BytesMut};
|
use bytes::{Bytes, BytesMut};
|
||||||
use futures_util::stream::{LocalBoxStream, Stream, StreamExt};
|
use futures_util::stream::{LocalBoxStream, Stream, StreamExt};
|
||||||
use httparse;
|
|
||||||
use mime;
|
|
||||||
|
|
||||||
use actix_utils::task::LocalWaker;
|
use actix_utils::task::LocalWaker;
|
||||||
use actix_web::error::{ParseError, PayloadError};
|
use actix_web::error::{ParseError, PayloadError};
|
||||||
|
@ -876,11 +874,11 @@ mod tests {
|
||||||
|
|
||||||
impl SlowStream {
|
impl SlowStream {
|
||||||
fn new(bytes: Bytes) -> SlowStream {
|
fn new(bytes: Bytes) -> SlowStream {
|
||||||
return SlowStream {
|
SlowStream {
|
||||||
bytes: bytes,
|
bytes,
|
||||||
pos: 0,
|
pos: 0,
|
||||||
ready: false,
|
ready: false,
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ async fn test_simple() {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let item = framed.next().await.unwrap().unwrap();
|
let item = framed.next().await.unwrap().unwrap();
|
||||||
assert_eq!(item, ws::Frame::Binary(Bytes::from_static(b"text").into()));
|
assert_eq!(item, ws::Frame::Binary(Bytes::from_static(b"text")));
|
||||||
|
|
||||||
framed.send(ws::Message::Ping("text".into())).await.unwrap();
|
framed.send(ws::Message::Ping("text".into())).await.unwrap();
|
||||||
let item = framed.next().await.unwrap().unwrap();
|
let item = framed.next().await.unwrap().unwrap();
|
||||||
|
|
|
@ -112,6 +112,7 @@ where
|
||||||
type Request = ServiceRequest;
|
type Request = ServiceRequest;
|
||||||
type Response = ServiceResponse<B>;
|
type Response = ServiceResponse<B>;
|
||||||
type Error = Error;
|
type Error = Error;
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
type Future = Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>>>>;
|
type Future = Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>>>>;
|
||||||
|
|
||||||
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||||
|
|
|
@ -167,8 +167,7 @@ async fn test_connection_reuse() {
|
||||||
})
|
})
|
||||||
.and_then(
|
.and_then(
|
||||||
HttpService::new(map_config(
|
HttpService::new(map_config(
|
||||||
App::new()
|
App::new().service(web::resource("/").route(web::to(HttpResponse::Ok))),
|
||||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
|
||||||
|_| AppConfig::default(),
|
|_| AppConfig::default(),
|
||||||
))
|
))
|
||||||
.tcp(),
|
.tcp(),
|
||||||
|
@ -205,8 +204,7 @@ async fn test_connection_force_close() {
|
||||||
})
|
})
|
||||||
.and_then(
|
.and_then(
|
||||||
HttpService::new(map_config(
|
HttpService::new(map_config(
|
||||||
App::new()
|
App::new().service(web::resource("/").route(web::to(HttpResponse::Ok))),
|
||||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
|
||||||
|_| AppConfig::default(),
|
|_| AppConfig::default(),
|
||||||
))
|
))
|
||||||
.tcp(),
|
.tcp(),
|
||||||
|
|
|
@ -32,8 +32,7 @@ async fn test_connection_window_size() {
|
||||||
let srv = test_server(move || {
|
let srv = test_server(move || {
|
||||||
HttpService::build()
|
HttpService::build()
|
||||||
.h2(map_config(
|
.h2(map_config(
|
||||||
App::new()
|
App::new().service(web::resource("/").route(web::to(HttpResponse::Ok))),
|
||||||
.service(web::resource("/").route(web::to(|| HttpResponse::Ok()))),
|
|
||||||
|_| AppConfig::default(),
|
|_| AppConfig::default(),
|
||||||
))
|
))
|
||||||
.openssl(ssl_acceptor())
|
.openssl(ssl_acceptor())
|
||||||
|
|
|
@ -64,9 +64,8 @@ async fn _test_connection_reuse_h2() {
|
||||||
.and_then(
|
.and_then(
|
||||||
HttpService::build()
|
HttpService::build()
|
||||||
.h2(map_config(
|
.h2(map_config(
|
||||||
App::new().service(
|
App::new()
|
||||||
web::resource("/").route(web::to(|| HttpResponse::Ok())),
|
.service(web::resource("/").route(web::to(HttpResponse::Ok))),
|
||||||
),
|
|
||||||
|_| AppConfig::default(),
|
|_| AppConfig::default(),
|
||||||
))
|
))
|
||||||
.openssl(ssl_acceptor())
|
.openssl(ssl_acceptor())
|
||||||
|
|
|
@ -45,9 +45,8 @@ async fn test_connection_reuse_h2() {
|
||||||
.and_then(
|
.and_then(
|
||||||
HttpService::build()
|
HttpService::build()
|
||||||
.h2(map_config(
|
.h2(map_config(
|
||||||
App::new().service(
|
App::new()
|
||||||
web::resource("/").route(web::to(|| HttpResponse::Ok())),
|
.service(web::resource("/").route(web::to(HttpResponse::Ok))),
|
||||||
),
|
|
||||||
|_| AppConfig::default(),
|
|_| AppConfig::default(),
|
||||||
))
|
))
|
||||||
.openssl(ssl_acceptor())
|
.openssl(ssl_acceptor())
|
||||||
|
|
21
src/app.rs
21
src/app.rs
|
@ -489,7 +489,7 @@ mod tests {
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_default_resource() {
|
async fn test_default_resource() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new().service(web::resource("/test").to(|| HttpResponse::Ok())),
|
App::new().service(web::resource("/test").to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
let req = TestRequest::with_uri("/test").to_request();
|
let req = TestRequest::with_uri("/test").to_request();
|
||||||
|
@ -502,13 +502,13 @@ mod tests {
|
||||||
|
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.service(web::resource("/test").to(|| HttpResponse::Ok()))
|
.service(web::resource("/test").to(HttpResponse::Ok))
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test2")
|
web::resource("/test2")
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::Created()))
|
ok(r.into_response(HttpResponse::Created()))
|
||||||
})
|
})
|
||||||
.route(web::get().to(|| HttpResponse::Ok())),
|
.route(web::get().to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::MethodNotAllowed()))
|
ok(r.into_response(HttpResponse::MethodNotAllowed()))
|
||||||
|
@ -585,7 +585,7 @@ mod tests {
|
||||||
DefaultHeaders::new()
|
DefaultHeaders::new()
|
||||||
.header(header::CONTENT_TYPE, HeaderValue::from_static("0001")),
|
.header(header::CONTENT_TYPE, HeaderValue::from_static("0001")),
|
||||||
)
|
)
|
||||||
.route("/test", web::get().to(|| HttpResponse::Ok())),
|
.route("/test", web::get().to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
let req = TestRequest::with_uri("/test").to_request();
|
let req = TestRequest::with_uri("/test").to_request();
|
||||||
|
@ -601,7 +601,7 @@ mod tests {
|
||||||
async fn test_router_wrap() {
|
async fn test_router_wrap() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.route("/test", web::get().to(|| HttpResponse::Ok()))
|
.route("/test", web::get().to(HttpResponse::Ok))
|
||||||
.wrap(
|
.wrap(
|
||||||
DefaultHeaders::new()
|
DefaultHeaders::new()
|
||||||
.header(header::CONTENT_TYPE, HeaderValue::from_static("0001")),
|
.header(header::CONTENT_TYPE, HeaderValue::from_static("0001")),
|
||||||
|
@ -632,7 +632,7 @@ mod tests {
|
||||||
Ok(res)
|
Ok(res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.service(web::resource("/test").to(|| HttpResponse::Ok())),
|
.service(web::resource("/test").to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
let req = TestRequest::with_uri("/test").to_request();
|
let req = TestRequest::with_uri("/test").to_request();
|
||||||
|
@ -648,7 +648,7 @@ mod tests {
|
||||||
async fn test_router_wrap_fn() {
|
async fn test_router_wrap_fn() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.route("/test", web::get().to(|| HttpResponse::Ok()))
|
.route("/test", web::get().to(HttpResponse::Ok))
|
||||||
.wrap_fn(|req, srv| {
|
.wrap_fn(|req, srv| {
|
||||||
let fut = srv.call(req);
|
let fut = srv.call(req);
|
||||||
async {
|
async {
|
||||||
|
@ -679,10 +679,9 @@ mod tests {
|
||||||
.route(
|
.route(
|
||||||
"/test",
|
"/test",
|
||||||
web::get().to(|req: HttpRequest| {
|
web::get().to(|req: HttpRequest| {
|
||||||
HttpResponse::Ok().body(format!(
|
HttpResponse::Ok().body(
|
||||||
"{}",
|
req.url_for("youtube", &["12345"]).unwrap().to_string(),
|
||||||
req.url_for("youtube", &["12345"]).unwrap()
|
)
|
||||||
))
|
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -475,7 +475,7 @@ mod tests {
|
||||||
let mut app = init_service(
|
let mut app = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.data(DropData(data.clone()))
|
.data(DropData(data.clone()))
|
||||||
.service(web::resource("/test").to(|| HttpResponse::Ok())),
|
.service(web::resource("/test").to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
let req = TestRequest::with_uri("/test").to_request();
|
let req = TestRequest::with_uri("/test").to_request();
|
||||||
|
|
|
@ -311,10 +311,9 @@ mod tests {
|
||||||
.route(
|
.route(
|
||||||
"/test",
|
"/test",
|
||||||
web::get().to(|req: HttpRequest| {
|
web::get().to(|req: HttpRequest| {
|
||||||
HttpResponse::Ok().body(format!(
|
HttpResponse::Ok().body(
|
||||||
"{}",
|
req.url_for("youtube", &["12345"]).unwrap().to_string(),
|
||||||
req.url_for("youtube", &["12345"]).unwrap()
|
)
|
||||||
))
|
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -330,9 +329,9 @@ mod tests {
|
||||||
async fn test_service() {
|
async fn test_service() {
|
||||||
let mut srv = init_service(App::new().configure(|cfg| {
|
let mut srv = init_service(App::new().configure(|cfg| {
|
||||||
cfg.service(
|
cfg.service(
|
||||||
web::resource("/test").route(web::get().to(|| HttpResponse::Created())),
|
web::resource("/test").route(web::get().to(HttpResponse::Created)),
|
||||||
)
|
)
|
||||||
.route("/index.html", web::get().to(|| HttpResponse::Ok()));
|
.route("/index.html", web::get().to(HttpResponse::Ok));
|
||||||
}))
|
}))
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
|
15
src/data.rs
15
src/data.rs
|
@ -200,13 +200,13 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_route_data_extractor() {
|
async fn test_route_data_extractor() {
|
||||||
let mut srv =
|
let mut srv = init_service(
|
||||||
init_service(App::new().service(web::resource("/").data(10usize).route(
|
App::new().service(
|
||||||
web::get().to(|data: web::Data<usize>| {
|
web::resource("/")
|
||||||
let _ = data.clone();
|
.data(10usize)
|
||||||
HttpResponse::Ok()
|
.route(web::get().to(|_data: web::Data<usize>| HttpResponse::Ok())),
|
||||||
}),
|
),
|
||||||
)))
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
let req = TestRequest::default().to_request();
|
let req = TestRequest::default().to_request();
|
||||||
|
@ -233,7 +233,6 @@ mod tests {
|
||||||
web::resource("/").data(10usize).route(web::get().to(
|
web::resource("/").data(10usize).route(web::get().to(
|
||||||
|data: web::Data<usize>| {
|
|data: web::Data<usize>| {
|
||||||
assert_eq!(**data, 10);
|
assert_eq!(**data, 10);
|
||||||
let _ = data.clone();
|
|
||||||
HttpResponse::Ok()
|
HttpResponse::Ok()
|
||||||
},
|
},
|
||||||
)),
|
)),
|
||||||
|
|
|
@ -626,7 +626,7 @@ mod tests {
|
||||||
Ok(())
|
Ok(())
|
||||||
};
|
};
|
||||||
let s = format!("{}", FormatDisplay(&render));
|
let s = format!("{}", FormatDisplay(&render));
|
||||||
assert!(s.contains(&format!("{}", now.format("%Y-%m-%dT%H:%M:%S"))));
|
assert!(s.contains(&now.format("%Y-%m-%dT%H:%M:%S")));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
|
|
@ -129,7 +129,7 @@ mod tests {
|
||||||
let mut app = init_service(
|
let mut app = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.wrap(NormalizePath::default())
|
.wrap(NormalizePath::default())
|
||||||
.service(web::resource("/v1/something/").to(|| HttpResponse::Ok())),
|
.service(web::resource("/v1/something/").to(HttpResponse::Ok)),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
|
|
@ -607,7 +607,7 @@ mod tests {
|
||||||
header::CONTENT_TYPE,
|
header::CONTENT_TYPE,
|
||||||
HeaderValue::from_static("0001"),
|
HeaderValue::from_static("0001"),
|
||||||
))
|
))
|
||||||
.route(web::get().to(|| HttpResponse::Ok())),
|
.route(web::get().to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -637,7 +637,7 @@ mod tests {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.route(web::get().to(|| HttpResponse::Ok())),
|
.route(web::get().to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -684,9 +684,7 @@ mod tests {
|
||||||
async fn test_default_resource() {
|
async fn test_default_resource() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.service(
|
.service(web::resource("/test").route(web::get().to(HttpResponse::Ok)))
|
||||||
web::resource("/test").route(web::get().to(|| HttpResponse::Ok())),
|
|
||||||
)
|
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::BadRequest()))
|
ok(r.into_response(HttpResponse::BadRequest()))
|
||||||
}),
|
}),
|
||||||
|
@ -705,7 +703,7 @@ mod tests {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::resource("/test")
|
web::resource("/test")
|
||||||
.route(web::get().to(|| HttpResponse::Ok()))
|
.route(web::get().to(HttpResponse::Ok))
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::BadRequest()))
|
ok(r.into_response(HttpResponse::BadRequest()))
|
||||||
}),
|
}),
|
||||||
|
@ -731,17 +729,17 @@ mod tests {
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test/{p}")
|
web::resource("/test/{p}")
|
||||||
.guard(guard::Get())
|
.guard(guard::Get())
|
||||||
.to(|| HttpResponse::Ok()),
|
.to(HttpResponse::Ok),
|
||||||
)
|
)
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test/{p}")
|
web::resource("/test/{p}")
|
||||||
.guard(guard::Put())
|
.guard(guard::Put())
|
||||||
.to(|| HttpResponse::Created()),
|
.to(HttpResponse::Created),
|
||||||
)
|
)
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test/{p}")
|
web::resource("/test/{p}")
|
||||||
.guard(guard::Delete())
|
.guard(guard::Delete())
|
||||||
.to(|| HttpResponse::NoContent()),
|
.to(HttpResponse::NoContent),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -783,7 +781,8 @@ mod tests {
|
||||||
data3: web::Data<f64>| {
|
data3: web::Data<f64>| {
|
||||||
assert_eq!(**data1, 10);
|
assert_eq!(**data1, 10);
|
||||||
assert_eq!(**data2, '*');
|
assert_eq!(**data2, '*');
|
||||||
assert_eq!(**data3, 1.0);
|
let error = std::f64::EPSILON;
|
||||||
|
assert!((**data3 - 1.0).abs() < error);
|
||||||
HttpResponse::Ok()
|
HttpResponse::Ok()
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
@ -480,7 +480,7 @@ pub(crate) mod tests {
|
||||||
assert_eq!(resp.status(), StatusCode::OK);
|
assert_eq!(resp.status(), StatusCode::OK);
|
||||||
match resp.response().body() {
|
match resp.response().body() {
|
||||||
ResponseBody::Body(Body::Bytes(ref b)) => {
|
ResponseBody::Body(Body::Bytes(ref b)) => {
|
||||||
let bytes: Bytes = b.clone().into();
|
let bytes = b.clone();
|
||||||
assert_eq!(bytes, Bytes::from_static(b"some"));
|
assert_eq!(bytes, Bytes::from_static(b"some"));
|
||||||
}
|
}
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
|
|
|
@ -362,7 +362,7 @@ mod tests {
|
||||||
App::new()
|
App::new()
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test")
|
web::resource("/test")
|
||||||
.route(web::get().to(|| HttpResponse::Ok()))
|
.route(web::get().to(HttpResponse::Ok))
|
||||||
.route(web::put().to(|| async {
|
.route(web::put().to(|| async {
|
||||||
Err::<HttpResponse, _>(error::ErrorBadRequest("err"))
|
Err::<HttpResponse, _>(error::ErrorBadRequest("err"))
|
||||||
}))
|
}))
|
||||||
|
|
97
src/scope.rs
97
src/scope.rs
|
@ -678,12 +678,9 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_scope() {
|
async fn test_scope() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(App::new().service(
|
||||||
App::new().service(
|
web::scope("/app").service(web::resource("/path1").to(HttpResponse::Ok)),
|
||||||
web::scope("/app")
|
))
|
||||||
.service(web::resource("/path1").to(|| HttpResponse::Ok())),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
let req = TestRequest::with_uri("/app/path1").to_request();
|
let req = TestRequest::with_uri("/app/path1").to_request();
|
||||||
|
@ -696,8 +693,8 @@ mod tests {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("/app")
|
web::scope("/app")
|
||||||
.service(web::resource("").to(|| HttpResponse::Ok()))
|
.service(web::resource("").to(HttpResponse::Ok))
|
||||||
.service(web::resource("/").to(|| HttpResponse::Created())),
|
.service(web::resource("/").to(HttpResponse::Created)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -714,7 +711,7 @@ mod tests {
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_scope_root2() {
|
async fn test_scope_root2() {
|
||||||
let mut srv = init_service(App::new().service(
|
let mut srv = init_service(App::new().service(
|
||||||
web::scope("/app/").service(web::resource("").to(|| HttpResponse::Ok())),
|
web::scope("/app/").service(web::resource("").to(HttpResponse::Ok)),
|
||||||
))
|
))
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
@ -730,7 +727,7 @@ mod tests {
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_scope_root3() {
|
async fn test_scope_root3() {
|
||||||
let mut srv = init_service(App::new().service(
|
let mut srv = init_service(App::new().service(
|
||||||
web::scope("/app/").service(web::resource("/").to(|| HttpResponse::Ok())),
|
web::scope("/app/").service(web::resource("/").to(HttpResponse::Ok)),
|
||||||
))
|
))
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
@ -748,8 +745,8 @@ mod tests {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("app")
|
web::scope("app")
|
||||||
.route("/path1", web::get().to(|| HttpResponse::Ok()))
|
.route("/path1", web::get().to(HttpResponse::Ok))
|
||||||
.route("/path1", web::delete().to(|| HttpResponse::Ok())),
|
.route("/path1", web::delete().to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -777,8 +774,8 @@ mod tests {
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("app").service(
|
web::scope("app").service(
|
||||||
web::resource("path1")
|
web::resource("path1")
|
||||||
.route(web::get().to(|| HttpResponse::Ok()))
|
.route(web::get().to(HttpResponse::Ok))
|
||||||
.route(web::delete().to(|| HttpResponse::Ok())),
|
.route(web::delete().to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -807,7 +804,7 @@ mod tests {
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("/app")
|
web::scope("/app")
|
||||||
.guard(guard::Get())
|
.guard(guard::Get())
|
||||||
.service(web::resource("/path1").to(|| HttpResponse::Ok())),
|
.service(web::resource("/path1").to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -842,7 +839,7 @@ mod tests {
|
||||||
|
|
||||||
match resp.response().body() {
|
match resp.response().body() {
|
||||||
ResponseBody::Body(Body::Bytes(ref b)) => {
|
ResponseBody::Body(Body::Bytes(ref b)) => {
|
||||||
let bytes: Bytes = b.clone().into();
|
let bytes = b.clone();
|
||||||
assert_eq!(bytes, Bytes::from_static(b"project: project1"));
|
assert_eq!(bytes, Bytes::from_static(b"project: project1"));
|
||||||
}
|
}
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
|
@ -855,14 +852,9 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_nested_scope() {
|
async fn test_nested_scope() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(App::new().service(web::scope("/app").service(
|
||||||
App::new().service(
|
web::scope("/t1").service(web::resource("/path1").to(HttpResponse::Created)),
|
||||||
web::scope("/app")
|
)))
|
||||||
.service(web::scope("/t1").service(
|
|
||||||
web::resource("/path1").to(|| HttpResponse::Created()),
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
let req = TestRequest::with_uri("/app/t1/path1").to_request();
|
let req = TestRequest::with_uri("/app/t1/path1").to_request();
|
||||||
|
@ -872,14 +864,9 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_nested_scope_no_slash() {
|
async fn test_nested_scope_no_slash() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(App::new().service(web::scope("/app").service(
|
||||||
App::new().service(
|
web::scope("t1").service(web::resource("/path1").to(HttpResponse::Created)),
|
||||||
web::scope("/app")
|
)))
|
||||||
.service(web::scope("t1").service(
|
|
||||||
web::resource("/path1").to(|| HttpResponse::Created()),
|
|
||||||
)),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
let req = TestRequest::with_uri("/app/t1/path1").to_request();
|
let req = TestRequest::with_uri("/app/t1/path1").to_request();
|
||||||
|
@ -893,8 +880,8 @@ mod tests {
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("/app").service(
|
web::scope("/app").service(
|
||||||
web::scope("/t1")
|
web::scope("/t1")
|
||||||
.service(web::resource("").to(|| HttpResponse::Ok()))
|
.service(web::resource("").to(HttpResponse::Ok))
|
||||||
.service(web::resource("/").to(|| HttpResponse::Created())),
|
.service(web::resource("/").to(HttpResponse::Created)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -916,7 +903,7 @@ mod tests {
|
||||||
web::scope("/app").service(
|
web::scope("/app").service(
|
||||||
web::scope("/t1")
|
web::scope("/t1")
|
||||||
.guard(guard::Get())
|
.guard(guard::Get())
|
||||||
.service(web::resource("/path1").to(|| HttpResponse::Ok())),
|
.service(web::resource("/path1").to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -953,7 +940,7 @@ mod tests {
|
||||||
|
|
||||||
match resp.response().body() {
|
match resp.response().body() {
|
||||||
ResponseBody::Body(Body::Bytes(ref b)) => {
|
ResponseBody::Body(Body::Bytes(ref b)) => {
|
||||||
let bytes: Bytes = b.clone().into();
|
let bytes = b.clone();
|
||||||
assert_eq!(bytes, Bytes::from_static(b"project: project_1"));
|
assert_eq!(bytes, Bytes::from_static(b"project: project_1"));
|
||||||
}
|
}
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
|
@ -981,7 +968,7 @@ mod tests {
|
||||||
|
|
||||||
match resp.response().body() {
|
match resp.response().body() {
|
||||||
ResponseBody::Body(Body::Bytes(ref b)) => {
|
ResponseBody::Body(Body::Bytes(ref b)) => {
|
||||||
let bytes: Bytes = b.clone().into();
|
let bytes = b.clone();
|
||||||
assert_eq!(bytes, Bytes::from_static(b"project: test - 1"));
|
assert_eq!(bytes, Bytes::from_static(b"project: test - 1"));
|
||||||
}
|
}
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
|
@ -997,7 +984,7 @@ mod tests {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("/app")
|
web::scope("/app")
|
||||||
.service(web::resource("/path1").to(|| HttpResponse::Ok()))
|
.service(web::resource("/path1").to(HttpResponse::Ok))
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::BadRequest()))
|
ok(r.into_response(HttpResponse::BadRequest()))
|
||||||
}),
|
}),
|
||||||
|
@ -1018,9 +1005,10 @@ mod tests {
|
||||||
async fn test_default_resource_propagation() {
|
async fn test_default_resource_propagation() {
|
||||||
let mut srv = init_service(
|
let mut srv = init_service(
|
||||||
App::new()
|
App::new()
|
||||||
.service(web::scope("/app1").default_service(
|
.service(
|
||||||
web::resource("").to(|| HttpResponse::BadRequest()),
|
web::scope("/app1")
|
||||||
))
|
.default_service(web::resource("").to(HttpResponse::BadRequest)),
|
||||||
|
)
|
||||||
.service(web::scope("/app2"))
|
.service(web::scope("/app2"))
|
||||||
.default_service(|r: ServiceRequest| {
|
.default_service(|r: ServiceRequest| {
|
||||||
ok(r.into_response(HttpResponse::MethodNotAllowed()))
|
ok(r.into_response(HttpResponse::MethodNotAllowed()))
|
||||||
|
@ -1043,17 +1031,17 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn test_middleware() {
|
async fn test_middleware() {
|
||||||
let mut srv =
|
let mut srv = init_service(
|
||||||
init_service(
|
|
||||||
App::new().service(
|
App::new().service(
|
||||||
web::scope("app")
|
web::scope("app")
|
||||||
.wrap(DefaultHeaders::new().header(
|
.wrap(
|
||||||
|
DefaultHeaders::new().header(
|
||||||
header::CONTENT_TYPE,
|
header::CONTENT_TYPE,
|
||||||
HeaderValue::from_static("0001"),
|
HeaderValue::from_static("0001"),
|
||||||
))
|
),
|
||||||
|
)
|
||||||
.service(
|
.service(
|
||||||
web::resource("/test")
|
web::resource("/test").route(web::get().to(HttpResponse::Ok)),
|
||||||
.route(web::get().to(|| HttpResponse::Ok())),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -1084,7 +1072,7 @@ mod tests {
|
||||||
Ok(res)
|
Ok(res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.route("/test", web::get().to(|| HttpResponse::Ok())),
|
.route("/test", web::get().to(HttpResponse::Ok)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
@ -1105,7 +1093,6 @@ mod tests {
|
||||||
"/t",
|
"/t",
|
||||||
web::get().to(|data: web::Data<usize>| {
|
web::get().to(|data: web::Data<usize>| {
|
||||||
assert_eq!(**data, 10);
|
assert_eq!(**data, 10);
|
||||||
let _ = data.clone();
|
|
||||||
HttpResponse::Ok()
|
HttpResponse::Ok()
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -1141,7 +1128,6 @@ mod tests {
|
||||||
"/t",
|
"/t",
|
||||||
web::get().to(|data: web::Data<usize>| {
|
web::get().to(|data: web::Data<usize>| {
|
||||||
assert_eq!(**data, 10);
|
assert_eq!(**data, 10);
|
||||||
let _ = data.clone();
|
|
||||||
HttpResponse::Ok()
|
HttpResponse::Ok()
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -1157,7 +1143,7 @@ mod tests {
|
||||||
async fn test_scope_config() {
|
async fn test_scope_config() {
|
||||||
let mut srv =
|
let mut srv =
|
||||||
init_service(App::new().service(web::scope("/app").configure(|s| {
|
init_service(App::new().service(web::scope("/app").configure(|s| {
|
||||||
s.route("/path1", web::get().to(|| HttpResponse::Ok()));
|
s.route("/path1", web::get().to(HttpResponse::Ok));
|
||||||
})))
|
})))
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
@ -1171,7 +1157,7 @@ mod tests {
|
||||||
let mut srv =
|
let mut srv =
|
||||||
init_service(App::new().service(web::scope("/app").configure(|s| {
|
init_service(App::new().service(web::scope("/app").configure(|s| {
|
||||||
s.service(web::scope("/v1").configure(|s| {
|
s.service(web::scope("/v1").configure(|s| {
|
||||||
s.route("/", web::get().to(|| HttpResponse::Ok()));
|
s.route("/", web::get().to(HttpResponse::Ok));
|
||||||
}));
|
}));
|
||||||
})))
|
})))
|
||||||
.await;
|
.await;
|
||||||
|
@ -1193,10 +1179,9 @@ mod tests {
|
||||||
s.route(
|
s.route(
|
||||||
"/",
|
"/",
|
||||||
web::get().to(|req: HttpRequest| async move {
|
web::get().to(|req: HttpRequest| async move {
|
||||||
HttpResponse::Ok().body(format!(
|
HttpResponse::Ok().body(
|
||||||
"{}",
|
req.url_for("youtube", &["xxxxxx"]).unwrap().to_string(),
|
||||||
req.url_for("youtube", &["xxxxxx"]).unwrap().as_str()
|
)
|
||||||
))
|
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -23,7 +23,6 @@ use futures_util::future::ok;
|
||||||
use futures_util::StreamExt;
|
use futures_util::StreamExt;
|
||||||
use serde::de::DeserializeOwned;
|
use serde::de::DeserializeOwned;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use serde_json;
|
|
||||||
use socket2::{Domain, Protocol, Socket, Type};
|
use socket2::{Domain, Protocol, Socket, Type};
|
||||||
|
|
||||||
pub use actix_http::test::TestBuffer;
|
pub use actix_http::test::TestBuffer;
|
||||||
|
|
|
@ -482,7 +482,7 @@ mod tests {
|
||||||
.to_http_parts();
|
.to_http_parts();
|
||||||
|
|
||||||
let s = Json::<MyObject>::from_request(&req, &mut pl).await;
|
let s = Json::<MyObject>::from_request(&req, &mut pl).await;
|
||||||
let mut resp = Response::from_error(s.err().unwrap().into());
|
let mut resp = Response::from_error(s.err().unwrap());
|
||||||
assert_eq!(resp.status(), StatusCode::BAD_REQUEST);
|
assert_eq!(resp.status(), StatusCode::BAD_REQUEST);
|
||||||
|
|
||||||
let body = load_stream(resp.take_body()).await.unwrap();
|
let body = load_stream(resp.take_body()).await.unwrap();
|
||||||
|
|
|
@ -851,7 +851,7 @@ async fn test_slow_request() {
|
||||||
use std::net;
|
use std::net;
|
||||||
|
|
||||||
let srv = test::start_with(test::config().client_timeout(200), || {
|
let srv = test::start_with(test::config().client_timeout(200), || {
|
||||||
App::new().service(web::resource("/").route(web::to(|| HttpResponse::Ok())))
|
App::new().service(web::resource("/").route(web::to(HttpResponse::Ok)))
|
||||||
});
|
});
|
||||||
|
|
||||||
let mut stream = net::TcpStream::connect(srv.addr()).unwrap();
|
let mut stream = net::TcpStream::connect(srv.addr()).unwrap();
|
||||||
|
|
Loading…
Reference in New Issue