Skip to content

Commit 01c3c75

Browse files
committed
Fixed: "Angular 1.3.0 RC5 breaks angular-file-upload (RC4 worked fine)" #272, #263, #277, #276
1 parent f059def commit 01c3c75

File tree

6 files changed

+50
-18
lines changed

6 files changed

+50
-18
lines changed

angular-file-upload.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
angular-file-upload v1.1.3
2+
angular-file-upload v1.1.4
33
https://github.com/nervgh/angular-file-upload
44
*/
55
(function(angular, factory) {
@@ -400,12 +400,14 @@ module
400400
/**
401401
* Transforms the server response
402402
* @param {*} response
403+
* @param {Object} headers
403404
* @returns {*}
404405
* @private
405406
*/
406-
FileUploader.prototype._transformResponse = function(response) {
407+
FileUploader.prototype._transformResponse = function(response, headers) {
408+
var headersGetter = this._headersGetter(headers);
407409
angular.forEach($http.defaults.transformResponse, function(transformFn) {
408-
response = transformFn(response);
410+
response = transformFn(response, headersGetter);
409411
});
410412
return response;
411413
};
@@ -433,6 +435,20 @@ module
433435

434436
return parsed;
435437
};
438+
/**
439+
* Returns function that returns headers
440+
* @param {Object} parsedHeaders
441+
* @returns {Function}
442+
* @private
443+
*/
444+
FileUploader.prototype._headersGetter = function(parsedHeaders) {
445+
return function(name) {
446+
if (name) {
447+
return parsedHeaders[name.toLowerCase()] || null;
448+
}
449+
return parsedHeaders;
450+
};
451+
};
436452
/**
437453
* The XMLHttpRequest transport
438454
* @param {FileItem} item
@@ -460,7 +476,7 @@ module
460476

461477
xhr.onload = function() {
462478
var headers = that._parseHeaders(xhr.getAllResponseHeaders());
463-
var response = that._transformResponse(xhr.response);
479+
var response = that._transformResponse(xhr.response, headers);
464480
var gist = that._isSuccessCode(xhr.status) ? 'Success' : 'Error';
465481
var method = '_on' + gist + 'Item';
466482
that[method](item, response, xhr.status, headers);
@@ -469,14 +485,14 @@ module
469485

470486
xhr.onerror = function() {
471487
var headers = that._parseHeaders(xhr.getAllResponseHeaders());
472-
var response = that._transformResponse(xhr.response);
488+
var response = that._transformResponse(xhr.response, headers);
473489
that._onErrorItem(item, response, xhr.status, headers);
474490
that._onCompleteItem(item, response, xhr.status, headers);
475491
};
476492

477493
xhr.onabort = function() {
478494
var headers = that._parseHeaders(xhr.getAllResponseHeaders());
479-
var response = that._transformResponse(xhr.response);
495+
var response = that._transformResponse(xhr.response, headers);
480496
that._onCancelItem(item, response, xhr.status, headers);
481497
that._onCompleteItem(item, response, xhr.status, headers);
482498
};
@@ -542,8 +558,8 @@ module
542558
} catch (e) {}
543559

544560
var xhr = {response: html, status: 200, dummy: true};
545-
var response = that._transformResponse(xhr.response);
546561
var headers = {};
562+
var response = that._transformResponse(xhr.response, headers);
547563

548564
that._onSuccessItem(item, response, xhr.status, headers);
549565
that._onCompleteItem(item, response, xhr.status, headers);

angular-file-upload.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)