소스 검색

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 3 년 전
부모
커밋
f5e2d49247
1개의 변경된 파일12개의 추가작업 그리고 1개의 파일을 삭제
  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 );
 
 				}