Skip to content

Commit 2c158e8

Browse files
committed
refactor(http): remove deprecated remote_ip_header fallback
Signed-off-by: ABHAY PANDEY <pandeyabhay967@gmail.com>
1 parent aee8940 commit 2c158e8

3 files changed

Lines changed: 20 additions & 19 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"nostream": minor
3+
---
4+
5+
refactor(http): remove deprecated network.remote_ip_header fallback and rely on network.remoteIpHeader

src/utils/http.ts

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,21 @@ const isTrustedProxy = (ipAddress: string, settings: Settings): boolean => {
2727
})
2828
}
2929

30-
export const getRemoteAddress = (request: IncomingMessage, settings: Settings): string => {
31-
let header: string | undefined
32-
// TODO: Remove deprecation warning
33-
if ('network' in settings && 'remote_ip_header' in settings.network) {
34-
logger.warn(`WARNING: Setting network.remote_ip_header is deprecated and will be removed in a future version.
35-
Use network.remoteIpHeader instead.`)
36-
header = settings.network['remote_ip_header'] as string
37-
} else {
38-
header = settings.network.remoteIpHeader as string
30+
const warnIfDeprecatedRemoteIpHeaderIsConfigured = (settings: Settings): void => {
31+
const networkSettings = settings.network as Record<string, unknown> | undefined
32+
const deprecatedHeader = networkSettings?.remote_ip_header
33+
34+
if (typeof deprecatedHeader === 'string' && deprecatedHeader.trim() !== '') {
35+
logger.warn(
36+
'WARNING: network.remote_ip_header is deprecated and no longer used. Rename it to network.remoteIpHeader to restore forwarded header handling.',
37+
)
3938
}
39+
}
40+
41+
export const getRemoteAddress = (request: IncomingMessage, settings: Settings): string => {
42+
warnIfDeprecatedRemoteIpHeaderIsConfigured(settings)
43+
44+
const header = settings.network?.remoteIpHeader as string
4045

4146
const trustedProxies = settings.network?.trustedProxies
4247
if (header && (!Array.isArray(trustedProxies) || trustedProxies.length === 0)) {

test/unit/utils/http.spec.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,7 @@ describe('getRemoteAddress', () => {
2121
} as any
2222
})
2323

24-
it('returns address using network.remote_ip_address when set', () => {
25-
expect(
26-
getRemoteAddress(
27-
request,
28-
{ network: { 'remote_ip_header': header, trustedProxies: [socketAddress] } } as any,
29-
)
30-
).to.equal(address)
31-
})
32-
33-
it('returns address using network.remoteIpAddress when set', () => {
24+
it('returns address using network.remoteIpHeader when set', () => {
3425
expect(
3526
getRemoteAddress(
3627
request,

0 commit comments

Comments
 (0)