unfetch
Version:
Bare minimum 500b fetch polyfill.
2 lines • 1.03 kB
JavaScript
function e(e,r){return r=r||{},new Promise(function(n,t){function s(e){for(var r,n,t,o=e.getAllResponseHeaders(),u=[],i=[],a={},c=/^\s*(.*?)\s*\:\s*([\s\S]*?)\s*$/gm;r=c.exec(o);)u.push(t=r[1].toLowerCase()),i.push([t,r[2]]),n=a[t],a[t]=n?n+","+r[2]:r[2];return{type:"cors",ok:e.status/200|!1,status:e.status,statusText:e.statusText,url:e.responseURL,clone:function(){return s(e)},text:function(){return Promise.resolve(e.responseText)},json:function(){return Promise.resolve(e.responseText).then(JSON.parse)},xml:function(){return Promise.resolve(e.responseXML)},blob:function(){return Promise.resolve(e.response)},headers:{keys:function(){return u},entries:function(){return i},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}}var o=new XMLHttpRequest;o.open(r.method||"get",e);for(var u in r.headers)o.setRequestHeader(u,r.headers[u]);o.onload=function(){n(s(o))},o.onerror=function(){t(Error("Network Error"))},o.send(r.body||null)})}module.exports=e;
//# sourceMappingURL=unfetch.js.map