@@ -275,7 +275,7 @@ class HttpRequest extends HttpRequestEventTarget {
275275 Map <String , String >? get responseHeaders => _responseHeaders;
276276
277277 /// The response in String form or empty String on failure.
278- String get responseText {
278+ String ? get responseText {
279279 final responseData = _responseData;
280280 if (responseData == null ) {
281281 return '' ;
@@ -291,7 +291,7 @@ class HttpRequest extends HttpRequestEventTarget {
291291 /// `text/xml` stream, unless responseType = 'document' and the request is
292292 /// synchronous.
293293 Document get responseXml =>
294- DomParser ().parseFromString (responseText, 'text/xml' );
294+ DomParser ().parseFromString (responseText ?? '' , 'text/xml' );
295295
296296 /// The HTTP result code from the request (200, 404, etc).
297297 /// See also: [HTTP Status Codes] (http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
@@ -560,7 +560,7 @@ class HttpRequest extends HttpRequestEventTarget {
560560 url,
561561 withCredentials: withCredentials,
562562 onProgress: onProgress,
563- ).then ((HttpRequest xhr) => xhr.responseText);
563+ ).then ((HttpRequest xhr) => xhr.responseText ?? '' );
564564 }
565565
566566 /// Makes a server POST request with the specified data encoded as form data.
@@ -749,7 +749,7 @@ class HttpRequest extends HttpRequestEventTarget {
749749 }
750750}
751751
752- class HttpRequestEventTarget extends EventTarget {
752+ class HttpRequestEventTarget extends EventTarget implements HttpRequestUpload {
753753 /// Static factory designed to expose `abort` events to event
754754 /// handlers that are not necessarily instances of [HttpRequestEventTarget] .
755755 ///
@@ -821,8 +821,17 @@ class HttpRequestEventTarget extends EventTarget {
821821
822822 /// Stream of `timeout` events handled by this [HttpRequestEventTarget] .
823823 Stream <ProgressEvent > get onTimeout => timeoutEvent.forTarget (this );
824+
824825}
825826
826827abstract class HttpRequestUpload {
827828 HttpRequestUpload ._();
829+
830+ Stream <ProgressEvent > get onAbort;
831+ Stream <ProgressEvent > get onError;
832+ Stream <ProgressEvent > get onLoad;
833+ Stream <ProgressEvent > get onLoadEnd;
834+ Stream <ProgressEvent > get onLoadStart;
835+ Stream <ProgressEvent > get onProgress;
836+ Stream <ProgressEvent > get onTimeout;
828837}
0 commit comments