49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
const assert = require('node:assert')
|
|
const responseReplace = require('../src/lib/interceptor/impl/res/responseReplace')
|
|
|
|
const headers = {}
|
|
const res = {
|
|
setHeader: (key, value) => {
|
|
headers[key] = value
|
|
},
|
|
}
|
|
|
|
const proxyRes = {
|
|
rawHeaders: [
|
|
'Content-Type', 'application/json; charset=utf-8',
|
|
'Content-Length', '2',
|
|
'ETag', 'W/"2"',
|
|
'Date', 'Thu, 01 Jan 1970 00:00:00 GMT',
|
|
'Connection', 'keep-alive',
|
|
],
|
|
}
|
|
|
|
const newHeaders = {
|
|
'Content-Type': 'application/json; charset=utf-8',
|
|
'Content-Length': '3',
|
|
'xxx': 1,
|
|
'Date': '[remove]',
|
|
'yyy': '[remove]',
|
|
}
|
|
|
|
const result = responseReplace.replaceResponseHeaders(newHeaders, res, proxyRes)
|
|
console.log(proxyRes.rawHeaders)
|
|
console.log(headers)
|
|
console.log(result)
|
|
|
|
assert.deepStrictEqual(proxyRes.rawHeaders, [
|
|
'Content-Type', 'application/json; charset=utf-8',
|
|
'Content-Length', '3',
|
|
'ETag', 'W/"2"',
|
|
'Date', '',
|
|
'Connection', 'keep-alive'
|
|
])
|
|
assert.deepStrictEqual(headers, {
|
|
xxx: 1,
|
|
})
|
|
assert.deepStrictEqual(result, {
|
|
'content-length': '2',
|
|
'date': 'Thu, 01 Jan 1970 00:00:00 GMT',
|
|
'xxx': null,
|
|
})
|