get-it
Version:
Generic HTTP request library for node, browsers and workers
2 lines (1 loc) • 1.42 kB
JavaScript
;const e=!(typeof navigator>"u")&&"ReactNative"===navigator.product,t={timeout:e?6e4:12e4};function r(e){return decodeURIComponent(e.replace(/\+/g," "))}function o(e){if(!1===e||0===e)return!1;if(e.connect||e.socket)return e;const r=Number(e);return isNaN(r)?o(t.timeout):{connect:r,socket:r}}const n=/^https?:\/\//i;exports.g=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},exports.p=function(n){const s={...t,..."string"==typeof n?{url:n}:n};if(s.timeout=o(s.timeout),s.query){const{url:t,searchParams:o}=function(t){const o=t.indexOf("?");if(-1===o)return{url:t,searchParams:new URLSearchParams};const n=t.slice(0,o),s=t.slice(o+1);if(!e)return{url:n,searchParams:new URLSearchParams(s)};if("function"!=typeof decodeURIComponent)throw new Error("Broken `URLSearchParams` implementation, and `decodeURIComponent` is not defined");const a=new URLSearchParams;for(const e of s.split("&")){const[t,o]=e.split("=");t&&a.append(r(t),r(o||""))}return{url:n,searchParams:a}}(s.url);for(const[e,r]of Object.entries(s.query)){if(void 0!==r)if(Array.isArray(r))for(const t of r)o.append(e,t);else o.append(e,r);const n=o.toString();n&&(s.url=`${t}?${n}`)}}return s.method=s.body&&!s.method?"POST":(s.method||"GET").toUpperCase(),s},exports.v=function(e){if(!n.test(e.url))throw new Error(`"${e.url}" is not a valid URL`)};//# sourceMappingURL=_commonjsHelpers.cjs.map