WebSocketTransformer class
The WebSocketTransformer provides the ability to upgrade a HttpRequest to a WebSocket connection. It supports both upgrading a single HttpRequest and upgrading a stream of HttpRequests.
To upgrade a single HttpRequest use the static upgrade method.
HttpServer server;
server.listen((request) {
if (...) {
WebSocketTransformer.upgrade(request).then((websocket) {
...
});
} else {
// Do normal HTTP request processing.
}
});
To transform a stream of HttpRequest events as it implements a stream transformer that transforms a stream of HttpRequest into a stream of WebSockets by upgrading each HttpRequest from the HTTP or HTTPS server, to the WebSocket protocol.
server.transform(new WebSocketTransformer()).listen((webSocket) => ...);
This transformer strives to implement WebSockets as specified by RFC6455.
- Implemented types
Constructors
-
WebSocketTransformer({dynamic protocolSelector(List<
String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault}) -
Create a new WebSocketTransformer.
factory
Properties
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
Methods
-
bind(
Stream< HttpRequest> stream) → Stream<WebSocket> -
Transforms the provided
stream
.inherited -
cast<
RS, RT> () → StreamTransformer< RS, RT> -
Provides a
StreamTransformer<RS, RT>
view of this stream transformer.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
isUpgradeRequest(
HttpRequest request) → bool - Checks whether the request is a valid WebSocket upgrade request.
-
upgrade(
HttpRequest request, {dynamic protocolSelector(List< String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault}) → Future<WebSocket> -
Upgrades an HttpRequest to a
WebSocket
connection. If the request is not a valid WebSocket upgrade request an HTTP response with status code 500 will be returned. Otherwise the returned future will complete with theWebSocket
when the upgrade process is complete.