Index: sdk/lib/io/websocket_impl.dart |
diff --git a/sdk/lib/io/websocket_impl.dart b/sdk/lib/io/websocket_impl.dart |
index 556de416f4333710d1b5ccd6700701f43dd4247a..48eeca131d3f6ce888b612521836f4200e59a72b 100644 |
--- a/sdk/lib/io/websocket_impl.dart |
+++ b/sdk/lib/io/websocket_impl.dart |
@@ -51,10 +51,28 @@ class _WebSocketProtocolTransformer implements StreamTransformer, EventSink { |
static const int CLOSED = 5; |
static const int FAILURE = 6; |
+ int _state; |
+ bool _fin; |
+ int _opcode; |
+ int _len; |
+ bool _masked; |
+ int _maskingKey; |
+ int _remainingLenBytes; |
+ int _remainingMaskingKeyBytes; |
+ int _remainingPayloadBytes; |
+ int _unmaskingIndex; |
+ |
+ int _currentMessageType; |
+ List<int> _controlPayload; |
+ StreamController _controller; |
+ |
+ int closeCode = WebSocketStatus.NO_STATUS_RECEIVED; |
+ String closeReason = ""; |
+ |
bool _serverSide; |
EventSink _eventSink; |
- _WebSocketProtocolTransformer([bool this._serverSide = false]) { |
+ _WebSocketProtocolTransformer([this._serverSide = false]) { |
_prepareForNextFrame(); |
_currentMessageType = _WebSocketMessageType.NONE; |
} |
@@ -71,9 +89,8 @@ class _WebSocketProtocolTransformer implements StreamTransformer, EventSink { |
}); |
} |
- void addError(Object error, [StackTrace stackTrace]) { |
- _eventSink.addError(error, stackTrace); |
- } |
+ void addError(Object error, [StackTrace stackTrace]) => |
+ _eventSink.addError(error, stackTrace); |
void close() => _eventSink.close(); |
@@ -357,24 +374,6 @@ class _WebSocketProtocolTransformer implements StreamTransformer, EventSink { |
_unmaskingIndex = 0; |
_controlPayload = null; |
} |
- |
- int _state; |
- bool _fin; |
- int _opcode; |
- int _len; |
- bool _masked; |
- int _maskingKey; |
- int _remainingLenBytes; |
- int _remainingMaskingKeyBytes; |
- int _remainingPayloadBytes; |
- int _unmaskingIndex; |
- |
- int _currentMessageType; |
- List<int> _controlPayload; |
- StreamController _controller; |
- |
- int closeCode = WebSocketStatus.NO_STATUS_RECEIVED; |
- String closeReason = ""; |
} |
@@ -411,17 +410,19 @@ class _WebSocketTransformerImpl implements WebSocketTransformer { |
var response = request.response; |
if (!_isUpgradeRequest(request)) { |
// Send error response. |
- response.statusCode = HttpStatus.BAD_REQUEST; |
- response.close(); |
+ response |
+ ..statusCode = HttpStatus.BAD_REQUEST |
+ ..close(); |
return new Future.error( |
new WebSocketException("Invalid WebSocket upgrade request")); |
} |
Future upgrade(String protocol) { |
// Send the upgrade response. |
- response.statusCode = HttpStatus.SWITCHING_PROTOCOLS; |
- response.headers.add(HttpHeaders.CONNECTION, "Upgrade"); |
- response.headers.add(HttpHeaders.UPGRADE, "websocket"); |
+ response |
+ ..statusCode = HttpStatus.SWITCHING_PROTOCOLS |
+ ..headers.add(HttpHeaders.CONNECTION, "Upgrade") |
+ ..headers.add(HttpHeaders.UPGRADE, "websocket"); |
String key = request.headers.value("Sec-WebSocket-Key"); |
_SHA1 sha1 = new _SHA1(); |
sha1.add("$key$_webSocketGUID".codeUnits); |
@@ -451,8 +452,9 @@ class _WebSocketTransformerImpl implements WebSocketTransformer { |
return protocol; |
}) |
.catchError((error) { |
- response.statusCode = HttpStatus.INTERNAL_SERVER_ERROR; |
- response.close(); |
+ response |
+ ..statusCode = HttpStatus.INTERNAL_SERVER_ERROR |
+ ..close(); |
throw error; |
}) |
.then(upgrade); |
@@ -495,7 +497,7 @@ class _WebSocketOutgoingTransformer implements StreamTransformer, EventSink { |
final _WebSocketImpl webSocket; |
EventSink _eventSink; |
- _WebSocketOutgoingTransformer(_WebSocketImpl this.webSocket); |
+ _WebSocketOutgoingTransformer(this.webSocket); |
Stream bind(Stream stream) { |
return new Stream.eventTransformed( |
@@ -537,9 +539,8 @@ class _WebSocketOutgoingTransformer implements StreamTransformer, EventSink { |
addFrame(opcode, data); |
} |
- void addError(Object error, [StackTrace stackTrace]) { |
- _eventSink.addError(error, stackTrace); |
- } |
+ void addError(Object error, [StackTrace stackTrace]) => |
+ _eventSink.addError(error, stackTrace); |
void close() { |
int code = webSocket._outCloseCode; |
@@ -557,9 +558,8 @@ class _WebSocketOutgoingTransformer implements StreamTransformer, EventSink { |
_eventSink.close(); |
} |
- void addFrame(int opcode, List<int> data) { |
- createFrame(opcode, data, webSocket._serverSide).forEach(_eventSink.add); |
- } |
+ void addFrame(int opcode, List<int> data) => |
+ createFrame(opcode, data, webSocket._serverSide).forEach(_eventSink.add); |
static Iterable createFrame(int opcode, List<int> data, bool serverSide) { |
bool mask = !serverSide; // Masking not implemented for server. |
@@ -640,7 +640,7 @@ class _WebSocketConsumer implements StreamConsumer { |
Completer _closeCompleter = new Completer(); |
Completer _completer; |
- _WebSocketConsumer(_WebSocketImpl this.webSocket, Socket this.socket); |
+ _WebSocketConsumer(this.webSocket, this.socket); |
void _onListen() { |
if (_subscription != null) { |
@@ -802,10 +802,11 @@ class _WebSocketImpl extends Stream implements WebSocket { |
return _httpClient.openUrl("GET", uri) |
.then((request) { |
// Setup the initial handshake. |
- request.headers.add(HttpHeaders.CONNECTION, "upgrade"); |
- request.headers.set(HttpHeaders.UPGRADE, "websocket"); |
- request.headers.set("Sec-WebSocket-Key", nonce); |
- request.headers.set("Sec-WebSocket-Version", "13"); |
+ request.headers |
+ ..add(HttpHeaders.CONNECTION, "upgrade") |
+ ..set(HttpHeaders.UPGRADE, "websocket") |
+ ..set("Sec-WebSocket-Key", nonce) |
+ ..set("Sec-WebSocket-Version", "13"); |
if (protocols.isNotEmpty) { |
request.headers.add("Sec-WebSocket-Protocol", protocols); |
} |
@@ -849,9 +850,8 @@ class _WebSocketImpl extends Stream implements WebSocket { |
}); |
} |
- _WebSocketImpl._fromSocket(Socket this._socket, |
- String this.protocol, |
- [bool this._serverSide = false]) { |
+ _WebSocketImpl._fromSocket(this._socket, this.protocol, |
+ [this._serverSide = false]) { |
_consumer = new _WebSocketConsumer(this, _socket); |
_sink = new _StreamSinkImpl(_consumer); |
_readyState = WebSocket.OPEN; |