Skip to content

Commit d11a811

Browse files
OliverJAsheffect-bot
authored andcommitted
Adjust xForwardedHeaders middleware to always use x-forwarded-for (#5311)
1 parent 9bfe8a9 commit d11a811

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

.changeset/ten-singers-rest.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@effect/platform": patch
3+
---
4+
5+
Adjust `xForwardedHeaders` middleware to always use `x-forwarded-for`

packages/platform/src/internal/httpMiddleware.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -187,17 +187,14 @@ export const tracer = make((httpApp) =>
187187

188188
/** @internal */
189189
export const xForwardedHeaders = make((httpApp) =>
190-
Effect.updateService(httpApp, ServerRequest.HttpServerRequest, (request) =>
191-
request.headers["x-forwarded-host"]
192-
? request.modify({
193-
headers: Headers.set(
194-
request.headers,
195-
"host",
196-
request.headers["x-forwarded-host"]
197-
),
198-
remoteAddress: request.headers["x-forwarded-for"]?.split(",")[0].trim()
199-
})
200-
: request)
190+
Effect.updateService(httpApp, ServerRequest.HttpServerRequest, (request) => {
191+
const host = request.headers["x-forwarded-host"]
192+
const remoteAddress = request.headers["x-forwarded-for"]?.split(",")[0].trim()
193+
return request.modify({
194+
headers: host !== undefined ? Headers.set(request.headers, "host", host) : undefined,
195+
remoteAddress
196+
})
197+
})
201198
)
202199

203200
/** @internal */

0 commit comments

Comments
 (0)