Cast errors to HttpExceptions and add lint to convert to tidy up dynamic calls in core libraries.

Change-Id: I7ea73b232d13baf84e834d742ebc16f2a081e727
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262626
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
This commit is contained in:
Kallen Tu 2022-10-07 18:12:28 +00:00 committed by Commit Queue
parent a4ba584510
commit 5b7bd563d3
3 changed files with 8 additions and 7 deletions

View file

@ -1,6 +1,5 @@
{
"org-dartlang-sdk:///lib/_http/http_impl.dart": {
"Dynamic access of 'message'.": 3,
"Dynamic access of 'address'.": 1,
"Dynamic access of 'port'.": 1,
"Dynamic invocation of 'listen'.": 1,

View file

@ -438,8 +438,8 @@ class _HttpIncoming extends Stream<Uint8List> {
{Function? onError, void Function()? onDone, bool? cancelOnError}) {
hasSubscriber = true;
return _stream.handleError((error) {
throw HttpException(error.message, uri: uri);
}).listen(onData,
throw HttpException((error as HttpException).message, uri: uri);
}, test: (error) => error is HttpException).listen(onData,
onError: onError, onDone: onDone, cancelOnError: cancelOnError);
}
@ -2062,16 +2062,18 @@ class _HttpClientConnection {
_subscription!.resume();
}).catchError((dynamic error, StackTrace stackTrace) {
_nextResponseCompleter!.completeError(
HttpException(error.message, uri: _currentUri), stackTrace);
HttpException((error as HttpException).message, uri: _currentUri),
stackTrace);
_nextResponseCompleter = null;
});
}, test: (error) => error is HttpException);
} else {
_nextResponseCompleter!.complete(incoming);
_nextResponseCompleter = null;
}
}, onError: (dynamic error, StackTrace stackTrace) {
_nextResponseCompleter?.completeError(
HttpException(error.message, uri: _currentUri), stackTrace);
HttpException((error as HttpException).message, uri: _currentUri),
stackTrace);
_nextResponseCompleter = null;
}, onDone: () {
_nextResponseCompleter?.completeError(HttpException(

View file

@ -622,7 +622,7 @@ class JsonDecoder extends Converter<String, Object?> {
external dynamic _parseJson(String source, reviver(key, value)?);
// Implementation of encoder/stringifier.
// ignore: avoid_dynamic_calls
dynamic _defaultToEncodable(dynamic object) => object.toJson();
/// JSON encoder that traverses an object structure and writes JSON source.