api: use request-ip
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
"pino": "^8.17.2",
|
||||
"pino-pretty": "^10.3.1",
|
||||
"ramda": "^0.29.1",
|
||||
"request-ip": "^3.3.0",
|
||||
"sharp": "^0.33.2",
|
||||
"sqlstring": "^2.3.3",
|
||||
"ua-parser-js": "^1.0.37",
|
||||
@@ -35,6 +36,7 @@
|
||||
"@openpanel/sdk": "workspace:*",
|
||||
"@openpanel/tsconfig": "workspace:*",
|
||||
"@types/ramda": "^0.29.6",
|
||||
"@types/request-ip": "^0.0.41",
|
||||
"@types/sqlstring": "^2.3.2",
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"@types/uuid": "^9.0.8",
|
||||
|
||||
@@ -121,7 +121,7 @@ export async function postEvent(
|
||||
country: event?.country || geo.country || '',
|
||||
city: event?.city || geo.city || '',
|
||||
region: event?.region || geo.region || '',
|
||||
continent: event?.continent ?? '',
|
||||
continent: event?.continent || geo.continent || '',
|
||||
os: event?.os ?? '',
|
||||
osVersion: event?.osVersion ?? '',
|
||||
browser: event?.browser ?? '',
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { FastifyRequest } from 'fastify';
|
||||
import requestIp from 'request-ip';
|
||||
|
||||
import { logger } from './logger';
|
||||
|
||||
@@ -26,15 +27,7 @@ const geo: GeoLocation = {
|
||||
const ignore = ['127.0.0.1', '::1'];
|
||||
|
||||
export function getClientIp(req: FastifyRequest) {
|
||||
if (req.headers['cf-connecting-ip']) {
|
||||
return String(req.headers['cf-connecting-ip']);
|
||||
}
|
||||
|
||||
if (req.headers['x-forwarded-for']) {
|
||||
return String(req.headers['x-forwarded-for']);
|
||||
}
|
||||
|
||||
return null;
|
||||
return requestIp.getClientIp(req);
|
||||
}
|
||||
|
||||
export async function parseIp(ip?: string): Promise<GeoLocation> {
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
"react-use-websocket": "^4.7.0",
|
||||
"react-virtualized-auto-sizer": "^1.0.22",
|
||||
"recharts": "^2.12.0",
|
||||
"request-ip": "^3.3.0",
|
||||
"short-unique-id": "^5.0.3",
|
||||
"slugify": "^1.6.6",
|
||||
"sonner": "^1.4.0",
|
||||
@@ -109,7 +108,6 @@
|
||||
"@types/react": "^18.2.20",
|
||||
"@types/react-dom": "^18.2.7",
|
||||
"@types/react-syntax-highlighter": "^15.5.11",
|
||||
"@types/request-ip": "^0.0.41",
|
||||
"@types/sqlstring": "^2.3.2",
|
||||
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||
"@typescript-eslint/parser": "^6.21.0",
|
||||
|
||||
12
pnpm-lock.yaml
generated
12
pnpm-lock.yaml
generated
@@ -62,6 +62,9 @@ importers:
|
||||
ramda:
|
||||
specifier: ^0.29.1
|
||||
version: 0.29.1
|
||||
request-ip:
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0
|
||||
sharp:
|
||||
specifier: ^0.33.2
|
||||
version: 0.33.2
|
||||
@@ -93,6 +96,9 @@ importers:
|
||||
'@types/ramda':
|
||||
specifier: ^0.29.6
|
||||
version: 0.29.10
|
||||
'@types/request-ip':
|
||||
specifier: ^0.0.41
|
||||
version: 0.0.41
|
||||
'@types/sqlstring':
|
||||
specifier: ^2.3.2
|
||||
version: 2.3.2
|
||||
@@ -339,9 +345,6 @@ importers:
|
||||
recharts:
|
||||
specifier: ^2.12.0
|
||||
version: 2.12.0(react-dom@18.2.0)(react@18.2.0)
|
||||
request-ip:
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0
|
||||
short-unique-id:
|
||||
specifier: ^5.0.3
|
||||
version: 5.0.3
|
||||
@@ -403,9 +406,6 @@ importers:
|
||||
'@types/react-syntax-highlighter':
|
||||
specifier: ^15.5.11
|
||||
version: 15.5.11
|
||||
'@types/request-ip':
|
||||
specifier: ^0.0.41
|
||||
version: 0.0.41
|
||||
'@types/sqlstring':
|
||||
specifier: ^2.3.2
|
||||
version: 2.3.2
|
||||
|
||||
Reference in New Issue
Block a user