WebSocketTransformer class - dart:io library (original) (raw)

The WebSocketTransformer provides the ability to upgrade aHttpRequest to a WebSocket connection. It supports both upgrading a single HttpRequest and upgrading a stream ofHttpRequests.

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

hashCodeint

The hash code for this object.

no setterinherited

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

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 the WebSocket when the upgrade process is complete.