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.
22 lines
662 B
22 lines
662 B
use std::net::TcpListener;
|
|
use std::thread::spawn;
|
|
|
|
use tungstenite::accept_hdr;
|
|
use tungstenite::handshake::server::{ErrorResponse, Request};
|
|
use tungstenite::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| {
|
|
Err(ErrorResponse {
|
|
error_code: StatusCode::FORBIDDEN,
|
|
headers: None,
|
|
body: Some("Access denied".into()),
|
|
})
|
|
};
|
|
accept_hdr(stream.unwrap(), callback).unwrap_err();
|
|
});
|
|
}
|
|
}
|
|
|