diff --git a/src/server/lib/getIpFromContext.ts b/src/server/lib/getIpFromContext.ts index a4beac6..09df93d 100644 --- a/src/server/lib/getIpFromContext.ts +++ b/src/server/lib/getIpFromContext.ts @@ -1,13 +1,12 @@ import { Context } from '../trpc' -export function getIpFromContext(ctx: Context) { +export function getIpFromContext({ req }: Context) { + let ip: string = '' + + if (req.ips[0]) ip = req.ips[0] + else ip = req.ip + if (process.env.NODE_ENV === 'development') return '10.7.16.254' - 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 } diff --git a/src/server/trpc.ts b/src/server/trpc.ts index 1a9131d..eb65574 100644 --- a/src/server/trpc.ts +++ b/src/server/trpc.ts @@ -9,7 +9,7 @@ import { PaFirewall } from './services/PaFirewall' // Created for each request function createContext({ req, res }: trpcExpress.CreateExpressContextOptions) { - return { ip: req.ip, headers: req.headers } + return { req } } export type Context = inferAsyncReturnType