@ferry-core/oar
Version:
A RESTful HTTP request lib with default config
7 lines • 3.17 kB
JavaScript
/*!
* @ferry-core/oar with v0.2.1
* Author: Michael Pan
* Built on 2023-09-17, 19:14:39
* Released under the MIT License Copyright (c) 2023
*/
import e from"axios";import*as t from"qs";function o(e){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)}var n={getItem:function(e){return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,o,n,r,a){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var s="";if(o)switch(o.constructor){case Number:s=o===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+o;break;case String:s="; expires="+o;break;case Date:s="; expires="+o.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+s+(r?"; domain="+r:"")+(n?"; path="+n:"")+(a?"; secure":""),!0},removeItem:function(e,t,n){return!(!e||!o(e))&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:o,keys:function(){for(var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),t=0;t<e.length;t++)e[t]=decodeURIComponent(e[t]);return e}};function r(e){return"string"==typeof e||e instanceof String}function a(e){return Array.isArray(e)}function s(e){return"object"==typeof e}var i="csrf_cookie";function c(e){var t;if(e.allowCsrf){!function(){var e=n.getItem(i)}();var o,c=e.csrfKeyName,u=null===(t=null===window||void 0===window?void 0:window.__custom_cookie)||void 0===t?void 0:t.csrf_cookie,d=n.getItem(i)||u||"";e.data||(e.data={}),r(c)&&(c=[c]),s(c)&&!a(c)&&(c=s(o=c)?Object.keys(o).map((function(e){return o[e]})):[]),a(c)&&c.forEach((function(t){"object"==typeof e.data&&!e.data[t]&&r(t)&&(e.data[t]=d)}))}}var u="visit_id";function d(){return"undefined"!=typeof window}var f={withCredentials:!0,allowCsrf:!0,csrfKeyName:["csrf_token","csrf"]};function p(e){var o,n;return null===(n=null===(o=null==e?void 0:e.interceptors)||void 0===o?void 0:o.request)||void 0===n||n.use((function(e){"get"===e.method&&e.cacheTime>0&&d(),"post"===e.method&&d()&&(c(e),function(e){var t=window.__statisObserver&&window.__statisObserver.__visitId;e.data||(e.data={}),"object"!=typeof e.data||e.data[u]&&""!==e.data[u]||(e.data[u]=t||"")}(e)),/^http:\/\//.test(e.url)&&d()&&(e.url=e.url.replace(/^(http|https):/,""));var o=!e.headers["content-type"]||/application\/x-www-form-urlencoded/.test(e.headers["content-type"]);return"post"!==e.method||"object"!=typeof e.data||e.data instanceof FormData||!o||(e.data=t.stringify(e.data)),e})),e.interceptors.response.use((function(e){return e}),(function(e){var t;return e.response?((t=e.response).config&&t.config.url,"string"==typeof t||"status: ".concat(t.status,", statusText: ").concat(t.statusText)):e.message&&e.message,Promise.reject(e)})),e}f.baseURL="",Object.assign(e.defaults,f);var m=e.create();p(m),m.create=function(t){return void 0===t&&(t={}),p(e.create(t))};var l=d()?window:void 0,v=l&&l.oar?l.oar:m;export{v as default};