Skip to content

Commit 29d01c2

Browse files
authored
Merge pull request #245 from fingerprintjs/fix/send-proxy-headers-always
fix: send other proxy headers even if proxy secret is undefined INTER-1157
2 parents 9863c4d + b6dc485 commit 29d01c2

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

proxy/utils/headers.test.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,27 +160,21 @@ describe('updateResponseHeadersForAgentDownload', () => {
160160
})
161161

162162
describe('prepareHeadersForIngressAPI', () => {
163-
it('should set client ip and proxy secret', () => {
163+
it('should set all proxy headers if proxy secret is defined, preserving the original headers', () => {
164164
const result = prepareHeadersForIngressAPI(mockReq, 'secret')
165165

166166
expect(result['fpjs-proxy-client-ip']).toBe('127.0.0.1')
167167
expect(result['fpjs-proxy-secret']).toBe('secret')
168168
expect(result['fpjs-proxy-forwarded-host']).toBe('fpjs.sh')
169+
expect(result['x-custom-header']).toBe(mockReq.headers['x-custom-header'])
169170
})
170171

171-
it('should set correct host', () => {
172-
const result = prepareHeadersForIngressAPI(mockReq, 'secret')
173-
174-
expect(result['fpjs-proxy-client-ip']).toBe('127.0.0.1')
175-
expect(result['fpjs-proxy-secret']).toBe('secret')
176-
expect(result['fpjs-proxy-forwarded-host']).toBe('fpjs.sh')
177-
})
178-
179-
it('should not set secret if it is undefined', () => {
172+
it('should set the other proxy headers, even if proxy secret is not defined, preserving the original headers', () => {
180173
const result = prepareHeadersForIngressAPI(mockReq, undefined)
181174

182175
expect(result['fpjs-proxy-client-ip']).toBe('127.0.0.1')
176+
expect(result['fpjs-proxy-forwarded-host']).toBe('fpjs.sh')
183177
expect(result['fpjs-proxy-secret']).toBe(undefined)
184-
expect(result['fpjs-proxy-forwarded-host']).toBe(undefined)
178+
expect(result['x-custom-header']).toBe(mockReq.headers['x-custom-header'])
185179
})
186180
})

proxy/utils/headers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ export function prepareHeadersForIngressAPI(request: HttpRequest, preSharedSecre
8888
const headers = filterRequestHeaders(request.headers)
8989

9090
headers['fpjs-proxy-client-ip'] = resolveClientIp(request, logger)
91+
headers['fpjs-proxy-forwarded-host'] = getHost(request)
9192

9293
if (preSharedSecret) {
9394
headers['fpjs-proxy-secret'] = preSharedSecret
94-
headers['fpjs-proxy-forwarded-host'] = getHost(request)
9595
}
9696

9797
return headers

0 commit comments

Comments
 (0)