request-json-rpc2
Version:
Simplified JSON-RPC2 request nodejs and browser client
3 lines (2 loc) • 2.13 kB
JavaScript
function $parcel$defineInteropFlag(e){Object.defineProperty(e,"__esModule",{value:!0,configurable:!0})}function $parcel$export(e,r,a,t){Object.defineProperty(e,r,{get:a,set:t,enumerable:!0,configurable:!0})}$parcel$defineInteropFlag(module.exports),$parcel$export(module.exports,"default",()=>$1195cb5ac292ab2d$export$2e2bcd8739ae039);const $1195cb5ac292ab2d$var$loadDevDependency=e=>import(e);var $1195cb5ac292ab2d$export$2e2bcd8739ae039=async({url:e,body:r,headers:a={},auth:t,signature:o,dev:n=!1,credentials:s="omit",signal:d},c)=>{if("production"!==process.env.NODE_ENV&&n){if(!c)return Promise.reject({jsonrpc:"2.0",error:{code:-32603,message:'"app" not found in second argument'},id:null});let n={method:"POST",url:e,headers:{"Content-Type":"application/json; charset=utf-8",...a},body:{jsonrpc:"2.0",...r},json:!0};o&&(n.headers.Signature=JSON.stringify(o)),t&&(n.auth=t);let{post:s}=(await $1195cb5ac292ab2d$var$loadDevDependency("supertest")).default(c);return s(e).send({method:n.method,url:n.url,headers:n.headers,body:r}).then(e=>e.body).catch(e=>({jsonrpc:"2.0",error:{code:-32603,message:e.message},id:null}))}let p=new Headers;if(Object.keys(a).forEach(e=>{p.append(e,a[e])}),p.has("Accept")||p.append("Accept","application/json"),p.has("Content-Type")||p.append("Content-Type","application/json"),o&&p.append("Signature",JSON.stringify(o)),t&&t.user&&t.pass){let e="Basic "+Buffer.from(t.user+":"+t.pass).toString("base64");p.set("Authorization",e)}let i={jsonrpc:"2.0",method:r.method};return(r.id&&(i.id=r.id),r.params&&"object"!=typeof r.params)?{jsonrpc:"2.0",error:{code:-32602,message:"Invalid params"},id:null}:(r.params&&(i.params=r.params),fetch(e,{body:JSON.stringify(i),headers:p,method:"POST",credentials:s,signal:d||AbortSignal.timeout(3e4)}).then(e=>{if(e.status>=400)throw Error(e.statusText);return e.json()}).then(e=>"InternalServerError"===e.name?{jsonrpc:"2.0",error:{code:e.code,message:e.message},id:null}:e).catch(({message:e})=>"Not Found"===e?{jsonrpc:"2.0",error:{code:-32603,message:e},id:null}:{jsonrpc:"2.0",error:{code:-32099,message:e},id:null}))};
//# sourceMappingURL=index.cjs.map