1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-06-25 06:39:22 +02:00

http server accepts factory of HttpHandlers

This commit is contained in:
Nikolay Kim
2017-12-12 07:40:36 -08:00
parent b9da09ddf0
commit e9aa67b75d
9 changed files with 34 additions and 31 deletions

View File

@ -4,6 +4,7 @@ extern crate tokio_core;
extern crate reqwest;
use std::{net, thread};
use std::rc::Rc;
use std::sync::Arc;
use std::sync::atomic::{AtomicUsize, Ordering};
use tokio_core::net::TcpListener;
@ -16,8 +17,8 @@ fn test_serve() {
thread::spawn(|| {
let sys = System::new("test");
let srv = HttpServer::new(
vec![Application::new()
.resource("/", |r| r.method(Method::GET).h(httpcodes::HTTPOk))]);
|| vec![Application::new()
.resource("/", |r| r.method(Method::GET).h(httpcodes::HTTPOk))]);
srv.serve::<_, ()>("127.0.0.1:58902").unwrap();
sys.run();
});
@ -36,7 +37,7 @@ fn test_serve_incoming() {
let sys = System::new("test");
let srv = HttpServer::new(
Application::new()
|| Application::new()
.resource("/", |r| r.method(Method::GET).h(httpcodes::HTTPOk)));
let tcp = TcpListener::from_listener(tcp, &addr2, Arbiter::handle()).unwrap();
srv.serve_incoming::<_, ()>(tcp.incoming(), false).unwrap();
@ -51,6 +52,7 @@ struct MiddlewareTest {
start: Arc<AtomicUsize>,
response: Arc<AtomicUsize>,
finish: Arc<AtomicUsize>,
test: Rc<usize>,
}
impl<S> middlewares::Middleware<S> for MiddlewareTest {
@ -84,12 +86,11 @@ fn test_middlewares() {
let sys = System::new("test");
HttpServer::new(
vec![Application::new()
.middleware(MiddlewareTest{start: act_num1,
response: act_num2,
finish: act_num3})
.resource("/", |r| r.method(Method::GET).h(httpcodes::HTTPOk))
.finish()])
move || vec![Application::new()
.middleware(MiddlewareTest{start: act_num1.clone(),
response: act_num2.clone(),
finish: act_num3.clone(), test: Rc::new(1)})
.resource("/", |r| r.method(Method::GET).h(httpcodes::HTTPOk))])
.serve::<_, ()>("127.0.0.1:58904").unwrap();
sys.run();
});