Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1326)

Unified Diff: runtime/bin/websocket.dart

Issue 11337019: Use patching for dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
-}

Powered by Google App Engine
This is Rietveld 408576698