Explorar o código

FileLoader: Add response to error object. (#24296)

* Surface fetch Response object in Error when non 200 HTTP status is received

* Remove HttpError from export
Jacob Muchow %!s(int64=3) %!d(string=hai) anos
pai
achega
f5e2d49247
Modificáronse 1 ficheiros con 12 adicións e 1 borrados
  1. 12 1
      src/loaders/FileLoader.js

+ 12 - 1
src/loaders/FileLoader.js

@@ -3,6 +3,17 @@ import { Loader } from './Loader.js';
 
 const loading = {};
 
+class HttpError extends Error {
+
+	constructor( message, response ) {
+
+		super( message );
+		this.response = response;
+
+	}
+
+}
+
 class FileLoader extends Loader {
 
 	constructor( manager ) {
@@ -146,7 +157,7 @@ class FileLoader extends Loader {
 
 				} else {
 
-					throw Error( `fetch for "${response.url}" responded with ${response.status}: ${response.statusText}` );
+					throw new HttpError( `fetch for "${response.url}" responded with ${response.status}: ${response.statusText}`, response );
 
 				}