bauhausjs
Version:
A modular CMS for Node.js
31 lines (30 loc) • 810 B
JavaScript
/**!
* AngularJS file upload shim for angular XHR HTML5 browsers
* @author Danial <danial.farid@gmail.com>
* @version 1.2.8
*/
if (window.XMLHttpRequest) {
if (window.FormData) {
// allow access to Angular XHR private field: https://github.com/angular/angular.js/issues/1934
XMLHttpRequest = (function(origXHR) {
return function() {
var xhr = new origXHR();
xhr.setRequestHeader = (function(orig) {
return function(header, value) {
if (header === '__setXHR_') {
var val = value(xhr);
// fix for angular < 1.2.0
if (val instanceof Function) {
val(xhr);
}
} else {
orig.apply(xhr, arguments);
}
}
})(xhr.setRequestHeader);
return xhr;
}
})(XMLHttpRequest);
window.XMLHttpRequest.__isShim = true;
}
}