| 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(); | |
| }); | |
| } | |
| } |