BugFix: IP Adresse & Subject instead of BehaviourSubject

This commit is contained in:
2024-09-20 15:59:45 +02:00
parent 3e84b82c92
commit 16b880384b
16 changed files with 36 additions and 330 deletions

View File

@@ -1,17 +1,9 @@
import { Body, Controller, createParamDecorator, ExecutionContext, Get, Param, Post } from '@nestjs/common';
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { RealIp } from 'src/app.module';
import { RealIpInfo } from 'src/models/main.model';
import { CountyRequest } from 'src/models/server.model';
import { GeoService } from './geo.service';
export interface RealIpInfo {
ip: string;
countryCode?: string;
}
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 };
});
@Controller('geo')
export class GeoController {
constructor(private geoService: GeoService) {}