mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-31 07:32:59 +00:00 
			
		
		
		
	Extend $tw.utils.httpRequest() to cope with binary data
The problem was that `this.responseText` crashes for non-text data. We fix it by letting the client specify which property should be returned. @ericshulman does this work for you?
This commit is contained in:
		| @@ -17,10 +17,12 @@ A quick and dirty HTTP function; to be refactored later. Options are: | ||||
| 	url: URL to retrieve | ||||
| 	type: GET, PUT, POST etc | ||||
| 	callback: function invoked with (err,data) | ||||
| 	returnProp: string name of the property to return as first argument of callback | ||||
| */ | ||||
| exports.httpRequest = function(options) { | ||||
| 	var type = options.type || "GET", | ||||
| 		headers = options.headers || {accept: "application/json"}, | ||||
| 		returnProp = options.returnProp || "responseText", | ||||
| 		request = new XMLHttpRequest(), | ||||
| 		data = "", | ||||
| 		f,results; | ||||
| @@ -41,7 +43,7 @@ exports.httpRequest = function(options) { | ||||
| 		if(this.readyState === 4) { | ||||
| 			if(this.status === 200 || this.status === 201 || this.status === 204) { | ||||
| 				// Success! | ||||
| 				options.callback(null,this.responseText,this); | ||||
| 				options.callback(null,this[returnProp],this); | ||||
| 				return; | ||||
| 			} | ||||
| 		// Something went wrong | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jermolene
					Jermolene