Skip to content

Commit b941ad4

Browse files
committed
fix: add testing
1 parent c1c78c2 commit b941ad4

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

lib/handler/redirect-handler.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,4 +239,4 @@ function cleanRequestHeaders (headers, removeContent, unknownOrigin) {
239239
return ret
240240
}
241241

242-
module.exports = RedirectHandler
242+
module.exports = { RedirectHandler, cleanRequestHeaders }

test/clean-request-headers.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
const { describe, it } = require('node:test')
2+
const { cleanRequestHeaders } = require('../lib/handler/redirect-handler')
3+
const assert = require('node:assert')
4+
5+
describe('clean-request-headers', () => {
6+
const baseHeaderArray = ['content-type', 'application/json', 'accept-ranges', 'bytes']
7+
8+
it('Should clean request header as expected when it is an array', () => {
9+
const headerArray = structuredClone(baseHeaderArray)
10+
11+
const cleanedRequestHeaders = cleanRequestHeaders(headerArray)
12+
13+
assert.ok(cleanedRequestHeaders.every((headerKeyValue) => baseHeaderArray.includes(headerKeyValue)), true)
14+
assert.ok(cleanedRequestHeaders.length === baseHeaderArray.length, true)
15+
})
16+
17+
it('Should clean request header as expected when it is a string record object', () => {
18+
const headersObject = { 'content-type': 'application/json', 'accept-ranges': 'bytes' }
19+
20+
const cleanedRequestHeaders = cleanRequestHeaders(headersObject)
21+
22+
assert.ok(cleanedRequestHeaders.every((headerKeyValue) => baseHeaderArray.includes(headerKeyValue)), true)
23+
assert.ok(cleanedRequestHeaders.length === baseHeaderArray.length, true)
24+
})
25+
26+
it('Should clean request header as expected when it is a Headers native object', () => {
27+
const headers = new Headers({ 'content-type': 'application/json', 'accept-ranges': 'bytes' })
28+
29+
const cleanedRequestHeaders = cleanRequestHeaders(headers)
30+
31+
assert.ok(cleanedRequestHeaders.every((headerKeyValue) => baseHeaderArray.includes(headerKeyValue)), true)
32+
assert.ok(cleanedRequestHeaders.length === baseHeaderArray.length, true)
33+
})
34+
})

0 commit comments

Comments
 (0)