You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
650 B
23 lines
650 B
use std::{net::TcpListener, thread::spawn};
|
|
|
|
use tungstenite::{
|
|
accept_hdr,
|
|
handshake::server::{Request, Response},
|
|
http::StatusCode,
|
|
};
|
|
|
|
fn main() {
|
|
let server = TcpListener::bind("127.0.0.1:3012").unwrap();
|
|
for stream in server.incoming() {
|
|
spawn(move || {
|
|
let callback = |_req: &Request, _resp| {
|
|
let resp = Response::builder()
|
|
.status(StatusCode::FORBIDDEN)
|
|
.body(Some("Access denied".into()))
|
|
.unwrap();
|
|
Err(resp)
|
|
};
|
|
accept_hdr(stream.unwrap(), callback).unwrap_err();
|
|
});
|
|
}
|
|
}
|
|
|