Skip to content

Commit 45cbba1

Browse files
committed
fix(types): cast NextRequest to resolve typecheck compiler error
1 parent 7b4e51d commit 45cbba1

2 files changed

Lines changed: 33 additions & 5 deletions

File tree

package-lock.json

Lines changed: 28 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

utils/getClientIp.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,20 @@ export function getClientIp(
2929
const headers = request.headers;
3030

3131
// 1. NextRequest has a secure, platform-populated request.ip property on Vercel/Next.js
32-
if (request instanceof NextRequest && request.ip) {
32+
const requestIp = (request as unknown as { ip?: string }).ip;
33+
if (request instanceof NextRequest && requestIp) {
3334
const rawXff = headers.get('x-forwarded-for');
3435
if (rawXff) {
3536
const firstIp = rawXff.split(',')[0].trim();
36-
if (firstIp && firstIp !== request.ip) {
37+
if (firstIp && firstIp !== requestIp) {
3738
logSecurityEvent('SPOOFED_HEADER_ATTEMPT', {
3839
claimedIp: firstIp,
39-
resolvedIp: request.ip,
40+
resolvedIp: requestIp,
4041
header: 'x-forwarded-for',
4142
});
4243
}
4344
}
44-
return request.ip;
45+
return requestIp;
4546
}
4647

4748
// 2. Process X-Forwarded-For securely if present

0 commit comments

Comments
 (0)