1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
pub mod http;
pub mod router;
pub mod middleware;
mod handler;
use std::net::TcpListener;
use router::*;
use handler::Manager;
use middleware::*;
#[allow(dead_code)]
pub struct Server {
manager: Manager
}
#[allow(dead_code)]
impl Server {
pub fn new() -> Server {
Server {
manager: Manager::new()
}
}
pub fn set_thread_count(&mut self, count: u32) {
self.manager.set_thread_count(count);
}
pub fn listen(&mut self, address: &str, routes: RouteHandler, middleware: MiddlewareStore) {
let listener = TcpListener::bind(address).unwrap();
self.manager.boot(routes, middleware);
for stream in listener.incoming() {
match stream {
Ok(stream) => self.manager.pass_stream(stream),
Err(_) => print!("Error while unwrapping stream")
}
}
}
}