diff --git a/README.md b/README.md index a482357..ef2a2b0 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,35 @@ void main() { }); } ``` + + +To reach request object and disconnect event: +```dart + import 'package:shelf_router/shelf_router.dart'; + + var app = Router(); + app.get("/ws", FutureOr handler(Request request) { + return webSocketHandler((WebSocketChannel webSocket) { + // now we have access to request argument + + // that key is being generated by the websocket itself, every connection has a unique key. + final webSocketKey = request.headers["sec-websocket-key"]; + + webSocket.stream.listen((message) { + webSocket.sink.add("echo $message"); + }).onDone(() { + // client disconnected. + }); + webSocket.sink.add("the first message from server."); + })(request); + }); + await io.serve(app, 'localhost', 8080); +``` + + + + + + + +