import{C as l,z as d}from"./CTAruH_8.js";import{u as h}from"./D9HxoMhB.js";async function c(n,a,i){const e=l(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),i&&Object.assign(s,i);const t=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(a)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const o=await t.json();if(o.code===18)throw e.logout(),u.push("/"),new Error(o.msg||"Unauthorized");if(o.code!==0)throw new Error(o.msg||"Unknown error");return o.data}const w=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function y(n){return!w.test(n)}function k(){const n=l(),{begin:a,end:i}=h();async function e(t,o){const r={};if(n.currentAppId&&(r["X-App-Id"]=String(n.currentAppId)),!y(t))return c(`/web/api/api_${t}`,o??{},r);a();try{return await c(`/web/api/api_${t}`,o??{},r)}finally{i()}}async function u(t,o){return c(`/console/api/${t}`,o??{})}async function s(t,o){const r=await e("getcostoken",{path:o}),p=r.upload_url||r.url||"",f=await fetch(p,{method:"PUT",headers:{"Content-Type":t.type||"application/octet-stream"},body:t});if(!f.ok)throw new Error(`Upload failed: ${f.status}`);return p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{k as u};