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

Unified Diff: sdk/lib/io/http_parser.dart

Issue 2754923002: Tweak corelib files so dartfmt can do a better job. Use // comments to force line wrapping for long… (Closed)
Patch Set: Tweak corelib files so dartfmt can do a better job. Use // comments to force line wrapping for long… Created 3 years, 9 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
« no previous file with comments | « sdk/lib/io/crypto.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/io/http_parser.dart
diff --git a/sdk/lib/io/http_parser.dart b/sdk/lib/io/http_parser.dart
index c2bc9a8eb69cc1aefdf46322ceec89f0d8d714ad..99f9f63345cf74b0edd9fd7c614bbae02c029d8c 100644
--- a/sdk/lib/io/http_parser.dart
+++ b/sdk/lib/io/http_parser.dart
@@ -19,16 +19,20 @@ class _Const {
static const bool F = false;
// Loopup-map for the following characters: '()<>@,;:\\"/[]?={} \t'.
static const SEPARATOR_MAP = const [
- F,F,F,F,F,F,F,F,F,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,F,T,F,F,
- F,F,F,T,T,F,F,T,F,F,T,F,F,F,F,F,F,F,F,F,F,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,
- F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,
- F,F,F,F,F,F,F,F,F,F,F,F,T,F,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,
- F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,
- F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,
- F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F];
+ F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, T, F, T, F, F, F, F, F, T, T, F, F, T, F, F, T, //
+ F, F, F, F, F, F, F, F, F, F, T, T, T, T, T, T, T, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, //
+ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
+ ];
}
-
// Frequently used character codes.
class _CharCode {
static const int HT = 9;
@@ -46,7 +50,6 @@ class _CharCode {
static const int EQUAL = 61;
}
-
// States of the HTTP parser state machine.
class _State {
static const int START = 0;
@@ -96,7 +99,6 @@ class _MessageType {
static const int RESPONSE = 0;
}
-
/**
* The _HttpDetachedStreamSubscription takes a subscription and some extra data,
* and makes it possible to "inject" the data in from of other data events
@@ -114,14 +116,13 @@ class _HttpDetachedStreamSubscription implements StreamSubscription<List<int>> {
Function _userOnData;
bool _scheduled = false;
- _HttpDetachedStreamSubscription(this._subscription,
- this._injectData,
- this._userOnData);
+ _HttpDetachedStreamSubscription(
+ this._subscription, this._injectData, this._userOnData);
bool get isPaused => _subscription.isPaused;
- Future<T> asFuture<T>([T futureValue]) =>
- _subscription.asFuture<T>(futureValue);
+ Future<T>
+ asFuture<T>([T futureValue]) => _subscription.asFuture<T>(futureValue);
Future cancel() {
_isCanceled = true;
@@ -181,7 +182,6 @@ class _HttpDetachedStreamSubscription implements StreamSubscription<List<int>> {
}
}
-
class _HttpDetachedIncoming extends Stream<List<int>> {
final StreamSubscription<List<int>> subscription;
final List<int> bufferedData;
@@ -189,9 +189,7 @@ class _HttpDetachedIncoming extends Stream<List<int>> {
_HttpDetachedIncoming(this.subscription, this.bufferedData);
StreamSubscription<List<int>> listen(void onData(List<int> event),
- {Function onError,
- void onDone(),
- bool cancelOnError}) {
+ {Function onError, void onDone(), bool cancelOnError}) {
if (subscription != null) {
subscription
..onData(onData)
@@ -200,22 +198,16 @@ class _HttpDetachedIncoming extends Stream<List<int>> {
if (bufferedData == null) {
return subscription..resume();
}
- return new _HttpDetachedStreamSubscription(subscription,
- bufferedData,
- onData)
- ..resume();
+ return new _HttpDetachedStreamSubscription(
+ subscription, bufferedData, onData)..resume();
} else {
// TODO(26379): add test for this branch.
- return new Stream<List<int>>.fromIterable([bufferedData])
- .listen(onData,
- onError: onError,
- onDone: onDone,
- cancelOnError: cancelOnError);
+ return new Stream<List<int>>.fromIterable([bufferedData]).listen(onData,
+ onError: onError, onDone: onDone, cancelOnError: cancelOnError);
}
}
}
-
/**
* HTTP parser which parses the data stream given to [consume].
*
@@ -304,15 +296,10 @@ class _HttpParser extends Stream<_HttpIncoming> {
_reset();
}
-
StreamSubscription<_HttpIncoming> listen(void onData(_HttpIncoming event),
- {Function onError,
- void onDone(),
- bool cancelOnError}) {
+ {Function onError, void onDone(), bool cancelOnError}) {
return _controller.stream.listen(onData,
- onError: onError,
- onDone: onDone,
- cancelOnError: cancelOnError);
+ onError: onError, onDone: onDone, cancelOnError: cancelOnError);
}
void listenToStream(Stream<List<int>> stream) {
@@ -321,10 +308,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
// given to provide a way of controlling the parser.
// TODO(ajohnsen): Remove _dataPause, _dataResume and _dataDone and clean up
// how the _HttpIncoming signals the parser.
- _socketSubscription = stream.listen(
- _onData,
- onError: _controller.addError,
- onDone: _onDone);
+ _socketSubscription =
+ stream.listen(_onData, onError: _controller.addError, onDone: _onDone);
}
void _parse() {
@@ -352,8 +337,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
// 2616 section 4.3).
if (_messageType == _MessageType.REQUEST &&
_transferLength < 0 &&
- _chunked == false) {
- _transferLength = 0;
+ _chunked == false) {
+ _transferLength = 0;
}
if (_connectionUpgrade) {
_state = _State.UPGRADED;
@@ -361,15 +346,12 @@ class _HttpParser extends Stream<_HttpIncoming> {
}
_createIncoming(_transferLength);
if (_requestParser) {
- _incoming.method =
- new String.fromCharCodes(_method);
+ _incoming.method = new String.fromCharCodes(_method);
_incoming.uri =
- Uri.parse(
- new String.fromCharCodes(_uri_or_reason_phrase));
+ Uri.parse(new String.fromCharCodes(_uri_or_reason_phrase));
} else {
_incoming.statusCode = _statusCode;
- _incoming.reasonPhrase =
- new String.fromCharCodes(_uri_or_reason_phrase);
+ _incoming.reasonPhrase = new String.fromCharCodes(_uri_or_reason_phrase);
}
_method.clear();
_uri_or_reason_phrase.clear();
@@ -423,9 +405,9 @@ class _HttpParser extends Stream<_HttpIncoming> {
throw new HttpException("Data on failed connection");
}
while (_buffer != null &&
- _index < _buffer.length &&
- _state != _State.FAILURE &&
- _state != _State.UPGRADED) {
+ _index < _buffer.length &&
+ _state != _State.FAILURE &&
+ _state != _State.UPGRADED) {
// Depending on _incoming, we either break on _bodyPaused or _paused.
if ((_incoming != null && _bodyPaused) ||
(_incoming == null && _paused)) {
@@ -458,7 +440,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
// Continue parsing HTTP version.
_httpVersionIndex++;
} else if (_httpVersionIndex == _Const.HTTP.length &&
- byte == _CharCode.SLASH) {
+ byte == _CharCode.SLASH) {
// HTTP/ parsed. As method is a token this cannot be a
// method anymore.
_httpVersionIndex++;
@@ -490,13 +472,13 @@ class _HttpParser extends Stream<_HttpIncoming> {
_expect(byte, _Const.HTTP1DOT[_httpVersionIndex]);
_httpVersionIndex++;
} else if (_httpVersionIndex == _Const.HTTP1DOT.length &&
- byte == _CharCode.ONE) {
+ byte == _CharCode.ONE) {
// HTTP/1.1 parsed.
_httpVersion = _HttpVersion.HTTP11;
_persistentConnection = true;
_httpVersionIndex++;
} else if (_httpVersionIndex == _Const.HTTP1DOT.length &&
- byte == _CharCode.ZERO) {
+ byte == _CharCode.ZERO) {
// HTTP/1.0 parsed.
_httpVersion = _HttpVersion.HTTP10;
_persistentConnection = false;
@@ -608,7 +590,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
throw new HttpException("Invalid response status code");
} else {
// Check whether this response will never have a body.
- if (_statusCode <= 199 || _statusCode == 204 ||
+ if (_statusCode <= 199 ||
+ _statusCode == 204 ||
_statusCode == 304) {
_noMessageBody = true;
}
@@ -622,7 +605,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
_state = _State.HEADER_ENDING;
} else if (byte == _CharCode.LF) {
_state = _State.HEADER_ENDING;
- _index--; // Make the new state see the LF again.
+ _index--; // Make the new state see the LF again.
} else {
// Start of new header field.
_headerField.add(_toLowerCaseByte(byte));
@@ -681,8 +664,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
if (headerField == "connection") {
List<String> tokens = _tokenizeFieldValue(headerValue);
for (int i = 0; i < tokens.length; i++) {
- if (_caseInsensitiveCompare("upgrade".codeUnits,
- tokens[i].codeUnits)) {
+ if (_caseInsensitiveCompare(
+ "upgrade".codeUnits, tokens[i].codeUnits)) {
_connectionUpgrade = true;
}
_headers._add(headerField, tokens[i]);
@@ -697,7 +680,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
_state = _State.HEADER_ENDING;
} else if (byte == _CharCode.LF) {
_state = _State.HEADER_ENDING;
- _index--; // Make the new state see the LF again.
+ _index--; // Make the new state see the LF again.
} else {
// Start of new header field.
_headerField.add(_toLowerCaseByte(byte));
@@ -772,9 +755,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
// Always present the data as a view. This way we can handle all
// cases like this, and the user will not experince different data
// typed (which could lead to polymorphic user code).
- List<int> data = new Uint8List.view(_buffer.buffer,
- _buffer.offsetInBytes + _index,
- dataAvailable);
+ List<int> data = new Uint8List.view(
+ _buffer.buffer, _buffer.offsetInBytes + _index, dataAvailable);
_bodyController.add(data);
if (_remainingContent != -1) {
_remainingContent -= data.length;
@@ -831,7 +813,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
!(_state == _State.START && !_requestParser) &&
!(_state == _State.BODY && !_chunked && _transferLength == -1)) {
_bodyController.addError(
- new HttpException("Connection closed while receiving data"));
+ new HttpException("Connection closed while receiving data"));
}
_closeIncoming(true);
_controller.close();
@@ -841,7 +823,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
if (_state == _State.START) {
if (!_requestParser) {
_reportError(new HttpException(
- "Connection closed before full header was received"));
+ "Connection closed before full header was received"));
}
_controller.close();
return;
@@ -857,7 +839,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
// Report the error through the error callback if any. Otherwise
// throw the error.
_reportError(new HttpException(
- "Connection closed before full header was received"));
+ "Connection closed before full header was received"));
_controller.close();
return;
}
@@ -868,8 +850,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
_state = _State.FAILURE;
// Report the error through the error callback if any. Otherwise
// throw the error.
- _reportError(new HttpException(
- "Connection closed before full body was received"));
+ _reportError(
+ new HttpException("Connection closed before full body was received"));
}
_controller.close();
}
@@ -896,8 +878,7 @@ class _HttpParser extends Stream<_HttpIncoming> {
_HttpDetachedIncoming detachIncoming() {
// Simulate detached by marking as upgraded.
_state = _State.UPGRADED;
- return new _HttpDetachedIncoming(_socketSubscription,
- readUnparsedData());
+ return new _HttpDetachedIncoming(_socketSubscription, readUnparsedData());
}
List<int> readUnparsedData() {
@@ -942,7 +923,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
}
static bool _isValueChar(int byte) {
- return (byte > 31 && byte < 128) || (byte == _CharCode.SP) ||
+ return (byte > 31 && byte < 128) ||
+ (byte == _CharCode.SP) ||
(byte == _CharCode.HT);
}
@@ -989,11 +971,11 @@ class _HttpParser extends Stream<_HttpIncoming> {
int _expectHexDigit(int byte) {
if (0x30 <= byte && byte <= 0x39) {
- return byte - 0x30; // 0 - 9
+ return byte - 0x30; // 0 - 9
} else if (0x41 <= byte && byte <= 0x46) {
- return byte - 0x41 + 10; // A - F
+ return byte - 0x41 + 10; // A - F
} else if (0x61 <= byte && byte <= 0x66) {
- return byte - 0x61 + 10; // a - f
+ return byte - 0x61 + 10; // a - f
} else {
throw new HttpException("Failed to parse HTTP");
}
@@ -1032,8 +1014,8 @@ class _HttpParser extends Stream<_HttpIncoming> {
_closeIncoming(true);
_controller.close();
});
- incoming = _incoming = new _HttpIncoming(
- _headers, transferLength, _bodyController.stream);
+ incoming = _incoming =
+ new _HttpIncoming(_headers, transferLength, _bodyController.stream);
_bodyPaused = true;
_pauseStateChanged();
}
« no previous file with comments | « sdk/lib/io/crypto.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698