mirror of
https://github.com/certd/certd.git
synced 2026-07-16 02:37:34 +08:00
aad9045de5
1. 新增公共请求头配置项,支持在系统设置中配置全局请求头 2. 实现请求头解析工具方法,支持多行KEY=VALUE格式配置 3. 在请求发起时自动附加全局公共请求头,且不会覆盖请求中已存在的同名Header 4. 添加多语言配置与前端表单组件,完善配置界面 5. 新增单元测试验证全局请求头合并逻辑
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import { expect } from "chai";
|
|
import { createAxiosService, HttpClient, setGlobalHeaders } from "./util.request.js";
|
|
import { ILogger } from "./util.log.js";
|
|
|
|
const testLogger = {
|
|
info() {},
|
|
error() {},
|
|
} as unknown as ILogger;
|
|
|
|
describe("util.request", () => {
|
|
afterEach(() => {
|
|
setGlobalHeaders({});
|
|
});
|
|
|
|
it("should merge global headers without overriding request headers", async () => {
|
|
setGlobalHeaders({
|
|
"X-Common": "common",
|
|
"X-Override": "global",
|
|
});
|
|
|
|
const http = createAxiosService({ logger: testLogger }) as HttpClient;
|
|
const res = await http.request({
|
|
url: "http://example.com",
|
|
method: "get",
|
|
logReq: false,
|
|
logRes: false,
|
|
headers: {
|
|
"X-Override": "request",
|
|
"X-Request": "request",
|
|
},
|
|
adapter: async config => {
|
|
const headers = config.headers;
|
|
return {
|
|
config,
|
|
data: {
|
|
common: headers.get("X-Common"),
|
|
override: headers.get("X-Override"),
|
|
request: headers.get("X-Request"),
|
|
},
|
|
headers: {},
|
|
status: 200,
|
|
statusText: "OK",
|
|
};
|
|
},
|
|
});
|
|
|
|
expect(res).to.deep.equal({
|
|
common: "common",
|
|
override: "request",
|
|
request: "request",
|
|
});
|
|
});
|
|
});
|