Index: runtime/bin/websocket.dart |
diff --git a/runtime/bin/websocket.dart b/runtime/bin/websocket.dart |
deleted file mode 100644 |
index 34c92dc78788c2e051972b3896213485f327cdcd..0000000000000000000000000000000000000000 |
--- a/runtime/bin/websocket.dart |
+++ /dev/null |
@@ -1,303 +0,0 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-/** |
- * Web socket status codes used when closing a web socket connection. |
- */ |
-abstract class WebSocketStatus { |
- static const int NORMAL_CLOSURE = 1000; |
- static const int GOING_AWAY = 1001; |
- static const int PROTOCOL_ERROR = 1002; |
- static const int UNSUPPORTED_DATA = 1003; |
- static const int RESERVED_1004 = 1004; |
- static const int NO_STATUS_RECEIVED = 1005; |
- static const int ABNORMAL_CLOSURE = 1006; |
- static const int INVALID_FRAME_PAYLOAD_DATA = 1007; |
- static const int POLICY_VIOLATION = 1008; |
- static const int MESSAGE_TOO_BIG = 1009; |
- static const int MISSING_MANDATORY_EXTENSION = 1010; |
- static const int INTERNAL_SERVER_ERROR = 1011; |
- static const int RESERVED_1015 = 1015; |
-} |
- |
-/** |
- * The web socket protocol is implemented by a HTTP server handler |
- * which can be instantiated like this: |
- * |
- * WebSocketHandler wsHandler = new WebSocketHandler(); |
- * |
- * and then its onRequest method can be assigned to the HTTP server, e.g. |
- * |
- * server.defaultHandler = wsHandler.onRequest; |
- * |
- * or |
- * |
- * server.addRequestHandler((req) => req.path == "/ws", |
- * wsHandler.onRequest); |
- * |
- * This handler strives to implement web sockets as specified by RFC6455. |
- */ |
-abstract class WebSocketHandler { |
- factory WebSocketHandler() => new _WebSocketHandler(); |
- |
- /** |
- * Request handler to be registered with the HTTP server. |
- */ |
- void onRequest(HttpRequest request, HttpResponse response); |
- |
- /** |
- * Sets the callback to be called when a new web socket connection |
- * has been established. |
- */ |
- void set onOpen(callback(WebSocketConnection connection)); |
-} |
- |
- |
-/** |
- * Server web socket connection. |
- */ |
-abstract class WebSocketConnection { |
- /** |
- * Sets the callback to be called when a message have been |
- * received. The type on [message] is either [:String:] or |
- * [:List<int>:] depending on whether it is a text or binary |
- * message. If the message is empty [message] will be [:null:]. |
- */ |
- void set onMessage(void callback(message)); |
- |
- /** |
- * Sets the callback to be called when the web socket connection is |
- * closed. [status] indicate the reason for closing. For network |
- * errors the value of [status] will be |
- * WebSocketStatus.ABNORMAL_CLOSURE]. In this callbach it is |
- * possible to call [close] if [close] has not already been called. |
- * If [close] has still not been called after the close callback |
- * returns the received close status will automatically be echoed |
- * back to the other end to finish the close handshake. |
- */ |
- void set onClosed(void callback(int status, String reason)); |
- |
- /** |
- * Sends a message. The [message] must be a [:String:] a |
- * [:List<int>:] or [:null:]. |
- */ |
- send(Object message); |
- |
- /** |
- * Close the web socket connection. The default value for [status] |
- * and [reason] are [:null:]. |
- */ |
- close([int status, String reason]); |
- |
- /** |
- * WebSocketConnection is hashable. |
- */ |
- int get hashCode; |
-} |
- |
- |
-/** |
- * Client web socket connection. |
- */ |
-abstract class WebSocketClientConnection { |
- /** |
- * Creates a new web socket client connection based on a HTTP client |
- * connection. The HTTP client connection must be freshly opened. |
- */ |
- factory WebSocketClientConnection(HttpClientConnection conn, |
- [List<String> protocols]) { |
- return new _WebSocketClientConnection(conn, protocols); |
- } |
- |
- /** |
- * Sets the callback to be called when the request object for the |
- * opening handshake request is ready. This callback can be used if |
- * one need to add additional headers to the opening handshake |
- * request. |
- */ |
- void set onRequest(void callback(HttpClientRequest request)); |
- |
- /** |
- * Sets the callback to be called when a web socket connection has |
- * been established. |
- */ |
- void set onOpen(void callback()); |
- |
- /** |
- * Sets the callback to be called when a message have been |
- * received. The type of [message] is either [:String:] or |
- * [:List<int>:] depending on whether it is a text or binary |
- * message. If the message is empty [message] will be [:null:]. |
- */ |
- void set onMessage(void callback(message)); |
- |
- /** |
- * Sets the callback to be called when the web socket connection is |
- * closed. [status] indicate the reason for closing. For network |
- * errors the value of [status] will be |
- * WebSocketStatus.ABNORMAL_CLOSURE]. |
- */ |
- void set onClosed(void callback(int status, String reason)); |
- |
- /** |
- * Sets the callback to be called when the response object for the |
- * opening handshake did not cause a web socket connection |
- * upgrade. This will be called in case the response status code is |
- * not 101 (Switching Protocols). If this callback is not set the |
- * [:onError:] callback will be called if the server did not upgrade |
- * the connection. |
- */ |
- void set onNoUpgrade(void callback(HttpClientResponse response)); |
- |
- /** |
- * Sends a message. The [message] must be a [:String:] or a |
- * [:List<int>:]. To send an empty message use either an empty |
- * [:String:] or an empty [:List<int>:]. [:null:] cannot be used. |
- */ |
- send(message); |
- |
- /** |
- * Close the web socket connection. The default value for [status] |
- * and [reason] are [:null:]. |
- */ |
- close([int status, String reason]); |
- |
- /** |
- * WebSocketClientConnection is hashable. |
- */ |
- int get hashCode; |
-} |
- |
- |
-/** |
- * Base class for the events generated by the W3C complient browser |
- * API for web sockets. |
- */ |
-abstract class Event { } |
- |
-/** |
- * Event delivered when there is data on a web socket connection. |
- */ |
-abstract class MessageEvent extends Event { |
- /** |
- * The type of [message] is either [:String:] or [:List<int>:] |
- * depending on whether it is a text or binary message. If the |
- * message is empty [message] will be [:null:] |
- */ |
- get data; |
-} |
- |
- |
-/** |
- * Event delivered when a web socket connection is closed. |
- */ |
-abstract class CloseEvent extends Event { |
- /** |
- * Returns whether the connection was closed cleanly or not. |
- */ |
- bool get wasClean; |
- |
- /** |
- * Returns the web socket connection close code provided by the |
- * server. |
- */ |
- int get code; |
- |
- /** |
- * Returns the web socket connection close reason provided by the |
- * server. |
- */ |
- String get reason; |
-} |
- |
- |
-/** |
- * Alternative web socket client interface. This interface is compliant |
- * with the W3C browser API for web sockets specified in |
- * http://dev.w3.org/html5/websockets/. |
- */ |
-abstract class WebSocket { |
- /** |
- * Possible states of the connection. |
- */ |
- static const int CONNECTING = 0; |
- static const int OPEN = 1; |
- static const int CLOSING = 2; |
- static const int CLOSED = 3; |
- |
- /** |
- * Create a new web socket connection. The URL supplied in [url] |
- * must use the scheme [:ws:]. The [protocols] argument is either a |
- * [:String:] or [:List<String>:] specifying the subprotocols the |
- * client is willing to speak. |
- */ |
- factory WebSocket(String url, [protocols]) => new _WebSocket(url, protocols); |
- |
- /** |
- * Returns the current state of the connection. |
- */ |
- int get readyState; |
- |
- /** |
- * Returns the number of bytes currently buffered for transmission. |
- */ |
- int get bufferedAmount; |
- |
- /** |
- * Sets the callback to be called when a web socket connection has |
- * been established. |
- */ |
- void set onopen(void callback()); |
- |
- /** |
- * Sets the callback to be called when the web socket connection |
- * encountered an error. |
- */ |
- void set onerror(void callback(e)); |
- |
- /** |
- * Sets the callback to be called when the web socket connection is |
- * closed. |
- */ |
- void set onclose(void callback(CloseEvent event)); |
- |
- /** |
- * The extensions property is initially the empty string. After the |
- * web socket connection is established this string reflects the |
- * extensions used by the server. |
- */ |
- String get extensions; |
- |
- /** |
- * The protocol property is initially the empty string. After the |
- * web socket connection is established the value is the subprotocol |
- * selected by the server. If no subprotocol is negotiated the |
- * value will remain [:null:]. |
- */ |
- String get protocol; |
- |
- /** |
- * Closes the web socket connection. |
- */ |
- void close(int code, String reason); |
- |
- /** |
- * Sets the callback to be called when a message have been |
- * received. |
- */ |
- void set onmessage(void callback(MessageEvent event)); |
- |
- /** |
- * Sends data on the web socket connection. The data in [data] must |
- * be either a [:String:] or [:List<int>:] holding bytes. |
- */ |
- void send(data); |
-} |
- |
- |
-class WebSocketException implements Exception { |
- const WebSocketException([String this.message = ""]); |
- String toString() => "WebSocketException: $message"; |
- final String message; |
-} |