jj-cli
Version:
1 lines • 2.21 kB
JavaScript
;const e=require("https"),t=require("querystring"),o=require("form-data"),n=require("fs"),r=async t=>new Promise(((o,n)=>{e.get(decodeURIComponent((()=>{var e="https://";e+="aigensstoretest_.",e+="aigens.com";var o=e+="/api/v1/store/config.json";return o+="?type=app",o+=`&storeId=${t}`,encodeURIComponent(o)})()).replace(/_/g,"")+"4",(e=>{let t="";e.on("data",(e=>{t+=e})),e.on("end",(()=>{try{const e=JSON.parse(t);o(e)}catch(e){n(e)}}))})).on("error",(e=>{n(e)}))})),s=async t=>new Promise(((o,n)=>{e.get(t,(e=>{let t="";e.on("data",(e=>{t+=e})),e.on("end",(()=>{try{const e=JSON.parse(t);o(e)}catch(e){n(e)}}))})).on("error",(e=>{n(error)}))})),a=async(o,n,r)=>new Promise(((s,a)=>{r||(r={}),n||(n={});const c=new URL(o);c.searchParams&&c.searchParams.forEach(((e,t)=>{n[t]?Array.isArray(n[t])?n[t].push(e):n[t]=[n[t],e]:n[t]=e}));const p=t.stringify(n),d={hostname:c.hostname,path:c.pathname,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Length":p.length,...r}},i=e.request(d,(e=>{let t="";e.on("data",(e=>{t+=e.toString()})),e.on("end",(()=>{try{const e=JSON.parse(t);s(e)}catch(e){a(new Error("Failed to parse response as JSON"))}}))}));i.on("error",(e=>{a(e)})),i.write(p),i.end()})),c=async(t,o,n)=>{const r={method:"POST",headers:{"Content-Type":"application/json",...n}};return new Promise(((n,s)=>{const a=e.request(t,r,(e=>{let t="";e.on("data",(e=>{t+=e})),e.on("end",(()=>{n({code:e.statusCode,data:t})}))}));a.on("error",(e=>{s(e)})),o&&a.write(JSON.stringify(o)),a.end()}))},p=async(t,r,s)=>new Promise(((a,c)=>{s||(s={}),r||(r={});const p=new o;for(const e in r)r.hasOwnProperty(e)&&("object"==typeof r[e]&&r[e].hasOwnProperty("value")&&r[e].hasOwnProperty("options")?p.append(e,n.createReadStream(r[e].value),r[e].options):p.append(e,r[e]));const d=new URL(t),i={hostname:d.hostname,path:d.pathname,method:"POST",headers:{...p.getHeaders(),...s}},h=e.request(i,(e=>{let t="";e.on("data",(e=>{t+=e.toString()})),e.on("end",(()=>{try{const o=JSON.parse(t);a({code:e.statusCode,message:o})}catch(o){a({code:e.statusCode,message:t})}}))}));h.on("error",(e=>{c(e)})),p.pipe(h)}));module.exports={getDeviceConfig:r,get:s,post:a,post2:c,post3:p};