Use x-forwarded-for

This commit is contained in:
Douglas Barone 2023-10-24 07:40:07 -04:00
parent 76ef520f3e
commit b1d6bb97a6
2 changed files with 6 additions and 3 deletions

View File

@ -3,8 +3,11 @@ import { Context } from '../trpc'
export function getIpFromContext(ctx: Context) {
if (process.env.NODE_ENV === 'development') return '10.7.16.254'
const ip = ctx.ip.split(':').slice(-1)[0]
// console.log(`IP: ${ip}`)
let ip: string
if (ctx.headers['x-forwarded-for'])
ip = ctx.headers['x-forwarded-for'][0].split(',').shift() || ''
else ip = ctx.ip.split(':').slice(-1)[0]
return ip
}

View File

@ -9,7 +9,7 @@ import { PaFirewall } from './services/PaFirewall'
// Created for each request
function createContext({ req, res }: trpcExpress.CreateExpressContextOptions) {
return { ip: req.ip }
return { ip: req.ip, headers: req.headers }
}
export type Context = inferAsyncReturnType<typeof createContext>