1 use std::{net::TcpListener, thread::spawn}; 2 3 use tungstenite::{ 4 accept_hdr, 5 handshake::server::{Request, Response}, 6 http::StatusCode, 7 }; 8 main()9fn main() { 10 let server = TcpListener::bind("127.0.0.1:3012").unwrap(); 11 for stream in server.incoming() { 12 spawn(move || { 13 let callback = |_req: &Request, _resp| { 14 let resp = Response::builder() 15 .status(StatusCode::FORBIDDEN) 16 .body(Some("Access denied".into())) 17 .unwrap(); 18 Err(resp) 19 }; 20 accept_hdr(stream.unwrap(), callback).unwrap_err(); 21 }); 22 } 23 } 24