description

# WebSocketTransformer class abstract

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
  - StreamTransformer<HttpRequest, WebSocket>

## Constructors

WebSocketTransformer({dynamic protocolSelector(List<String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault, int maxPayloadLength = _kDefaultWebSocketMaxPayloadLength})
  Create a new WebSocketTransformer.
  factory

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## 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, int maxPayloadLength = _kDefaultWebSocketMaxPayloadLength}) → 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 the WebSocket when the upgrade process is complete.