BugFix: Proxy data, Logging with IP adresses

This commit is contained in:
2024-09-20 18:28:43 +02:00
parent 178f2b4810
commit 860d30b16f
11 changed files with 86 additions and 29 deletions

View File

@@ -1,10 +1,15 @@
import { createParamDecorator, ExecutionContext, Injectable } from '@nestjs/common';
import { RealIpInfo } from './models/main.model';
import { getRealIpInfo } from './utils/ip.util';
// export const RealIp = createParamDecorator((data: unknown, ctx: ExecutionContext): RealIpInfo => {
// const request = ctx.switchToHttp().getRequest();
// const ip = request.headers['cf-connecting-ip'] || request.headers['x-real-ip'] || request.headers['x-forwarded-for']?.split(',')[0] || request.connection.remoteAddress;
// const countryCode = request.headers['cf-ipcountry'];
// return { ip, countryCode };
// });
export const RealIp = createParamDecorator((data: unknown, ctx: ExecutionContext): RealIpInfo => {
const request = ctx.switchToHttp().getRequest();
const ip = request.headers['cf-connecting-ip'] || request.headers['x-real-ip'] || request.headers['x-forwarded-for']?.split(',')[0] || request.connection.remoteAddress;
const countryCode = request.headers['cf-ipcountry'];
return { ip, countryCode };
return getRealIpInfo(request);
});
@Injectable()
export class AppService {