pub fn upgrade_ws_with_config_and_req<H, R, B, E>(
handler: H,
config: WebSocketConfig,
) -> impl Fn(Request<Body>) -> Ready<Result<Response<B>, E>> + Send + 'staticExpand description
Upgrades the http requests to websocket with the provided config and adds request to the handler to be able to use extensions.
ยงExamples
use routerify_ws::{upgrade_ws_with_config_and_req, WebSocket, WebSocketConfig};
async fn ws_handler(req:Request<Body>,ws: WebSocket) {
println!("New websocket connection: {} {:?}", ws.remote_addr(),req.headers());
// Handle websocket connection.
}
fn router() -> Router<Body, Infallible> {
// Create a router and specify the path and the handler for new websocket connections.
Router::builder()
// Upgrade the http requests at `/ws` path to websocket with the following config.
.any_method("/ws", upgrade_ws_with_config_and_req(ws_handler, WebSocketConfig::default()))
.build()
.unwrap()
}