use responder::prelude::*;
fn main() {
let routes = &[
Route::ControlledStack(origin_control_function, "", &[
Route::Get("", test)
])
];
Server::new()
.routes(routes)
.address("127.0.0.1")
.port(8080)
.start()
.unwrap();
}
fn test(stream:&mut Stream) -> () {
stream.respond(200u16, Respond::new().text(r#"You have the "Host" header!"#));
}
fn origin_control_function(stream:&mut Stream) -> bool {
match stream.headers.get("Host") {
Some(host) => {
if host == &"" {
stream.respond_status(401);
false
}else {
true
}
},
None => {
stream.respond_status(401);
false
}
}
}