From f659af44939042eb0514838f77c73de3500741ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 24 Nov 2019 15:06:41 +0100 Subject: [PATCH] Update examples to compile again --- examples/callback-error.rs | 14 +++++++------- examples/client.rs | 4 ++-- examples/server.rs | 21 +++++++++------------ 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/examples/callback-error.rs b/examples/callback-error.rs index fdb5b8a..357d343 100644 --- a/examples/callback-error.rs +++ b/examples/callback-error.rs @@ -2,19 +2,19 @@ use std::net::TcpListener; use std::thread::spawn; use tungstenite::accept_hdr; -use tungstenite::handshake::server::{ErrorResponse, Request}; +use tungstenite::handshake::server::{Request, Response}; 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()), - }) + 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(); }); diff --git a/examples/client.rs b/examples/client.rs index e3200d2..7938cfb 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -8,9 +8,9 @@ fn main() { connect(Url::parse("ws://localhost:3012/socket").unwrap()).expect("Can't connect"); println!("Connected to the server"); - println!("Response HTTP code: {}", response.code); + println!("Response HTTP code: {}", response.status()); println!("Response contains the following headers:"); - for &(ref header, _ /*value*/) in response.headers.iter() { + for (ref header, _value) in response.headers() { println!("* {}", header); } diff --git a/examples/server.rs b/examples/server.rs index 70ba186..def2f45 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -2,30 +2,27 @@ use std::net::TcpListener; use std::thread::spawn; use tungstenite::accept_hdr; -use tungstenite::handshake::server::Request; +use tungstenite::handshake::server::{Request, Response}; fn main() { env_logger::init(); let server = TcpListener::bind("127.0.0.1:3012").unwrap(); for stream in server.incoming() { spawn(move || { - let callback = |req: &Request| { + let callback = |req: &Request, mut response: Response| { println!("Received a new ws handshake"); - println!("The request's path is: {}", req.path); + println!("The request's path is: {}", req.uri().path()); println!("The request's headers are:"); - for &(ref header, _ /* value */) in req.headers.iter() { + for (ref header, _value) in req.headers() { println!("* {}", header); } // Let's add an additional header to our response to the client. - let extra_headers = vec![ - (String::from("MyCustomHeader"), String::from(":)")), - ( - String::from("SOME_TUNGSTENITE_HEADER"), - String::from("header_value"), - ), - ]; - Ok(Some(extra_headers)) + let headers = response.headers_mut(); + headers.append("MyCustomHeader", ":)".parse().unwrap()); + headers.append("SOME_TUNGSTENITE_HEADER", "header_value".parse().unwrap()); + + Ok(response) }; let mut websocket = accept_hdr(stream.unwrap(), callback).unwrap();