Browse Source

Set request headers internally for FileLoader

Wojciech 5 years ago
parent
commit
3142bd471b
2 changed files with 15 additions and 0 deletions
  1. 1 0
      examples/jsm/loaders/GLTFLoader.d.ts
  2. 14 0
      examples/jsm/loaders/GLTFLoader.js

+ 1 - 0
examples/jsm/loaders/GLTFLoader.d.ts

@@ -33,6 +33,7 @@ export class GLTFLoader extends Loader {
 	ddsLoader: DDSLoader | null;
 
 	load( url: string, onLoad: ( gltf: GLTF ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ) : void;
+	setRequestHeader( value: { [header: string]: string } ): GLTFLoader;
 	setDRACOLoader( dracoLoader: DRACOLoader ): GLTFLoader;
 	setDDSLoader( ddsLoader: DDSLoader ): GLTFLoader;
 	parse( data: ArrayBuffer | string, path: string, onLoad: ( gltf: GLTF ) => void, onError?: ( event: ErrorEvent ) => void ) : void;

+ 14 - 0
examples/jsm/loaders/GLTFLoader.js

@@ -77,6 +77,7 @@ var GLTFLoader = ( function () {
 
 		this.dracoLoader = null;
 		this.ddsLoader = null;
+		this.requestHeader = null;
 
 	}
 
@@ -131,6 +132,12 @@ var GLTFLoader = ( function () {
 			loader.setPath( this.path );
 			loader.setResponseType( 'arraybuffer' );
 
+			if ( this.requestHeader !== null ) {
+
+				loader.setRequestHeader( this.requestHeader );
+
+			}
+
 			if ( scope.crossOrigin === 'use-credentials' ) {
 
 				loader.setWithCredentials( true );
@@ -159,6 +166,13 @@ var GLTFLoader = ( function () {
 
 		},
 
+		setRequestHeader: function ( value ) {
+
+			this.requestHeader = value;
+			return this;
+
+		},
+
 		setDRACOLoader: function ( dracoLoader ) {
 
 			this.dracoLoader = dracoLoader;