@ amaster.ai/http-client (中文(简体) )
Amaster SDK软件包的基础HTTP客户端.
创建 Http 客户端
import { createHttpClient } from "@amaster.ai/http-client";
const http = createHttpClient({
baseURL: "https://api.example.com",
headers: {
Authorization: "Bearer token",
},
});
带钩子的本地获取适配器
对于想要继续使用本地语言的运行时间 fetch 但仍然重复使用 http-client是因为
URL 分辨率,默认信头,响应解围,错误处理,以及日期时间处理,
使用情况 adapter: "fetch" 与 fetchAdapter 钩子 :
import { createHttpClient } from "@amaster.ai/http-client";
const http = createHttpClient({
adapter: "fetch",
baseURL: "http://runtime:3000",
headers: {
Authorization: "Bearer token",
"X-Tenant-ID": "app1",
"X-Env": "dev",
},
fetchAdapter: {
onRequest({ init }) {
const headers = new Headers(init.headers);
if (init.body instanceof FormData) {
headers.delete("Content-Type");
}
return {
init: {
...init,
headers,
},
};
},
async parseResponseBody({ response, config }) {
if (config.responseType === "blob") {
return await response.blob();
}
return await response.json();
},
},
});
请求钩子
如果你只需要在最终请求配置到达适配器之前使其正常化,
使用情况 beforeRequest数字 :
import { createHttpClient } from "@amaster.ai/http-client";
const http = createHttpClient({
beforeRequest(config) {
return {
...config,
headers: {
...config.headers,
"X-Trace-Id": "trace-123",
},
};
},
});