Updated maxmind lookup.

This commit is contained in:
Mike Cao 2025-02-06 10:25:09 -08:00
parent 444b828bc9
commit 88227b6b29
3 changed files with 9 additions and 9 deletions

View file

@ -100,7 +100,7 @@
"isbot": "^5.1.16", "isbot": "^5.1.16",
"jsonwebtoken": "^9.0.2", "jsonwebtoken": "^9.0.2",
"kafkajs": "^2.1.0", "kafkajs": "^2.1.0",
"maxmind": "^4.3.6", "maxmind": "^4.3.24",
"md5": "^2.3.0", "md5": "^2.3.0",
"next": "15.0.4", "next": "15.0.4",
"node-fetch": "^3.2.8", "node-fetch": "^3.2.8",

View file

@ -12,7 +12,7 @@ import {
IP_ADDRESS_HEADERS, IP_ADDRESS_HEADERS,
} from './constants'; } from './constants';
let lookup; const MAXMIND = 'maxmind';
export function getIpAddress(headers: Headers) { export function getIpAddress(headers: Headers) {
const customHeader = process.env.CLIENT_IP_HEADER; const customHeader = process.env.CLIENT_IP_HEADER;
@ -121,13 +121,13 @@ export async function getLocation(ip: string = '', headers: Headers) {
} }
// Database lookup // Database lookup
if (!lookup) { if (!global[MAXMIND]) {
const dir = path.join(process.cwd(), 'geo'); const dir = path.join(process.cwd(), 'geo');
lookup = await maxmind.open(path.resolve(dir, 'GeoLite2-City.mmdb')); global[MAXMIND] = await maxmind.open(path.resolve(dir, 'GeoLite2-City.mmdb'));
} }
const result = lookup.get(ip); const result = global[MAXMIND].get(ip);
if (result) { if (result) {
const country = result.country?.iso_code ?? result?.registered_country?.iso_code; const country = result.country?.iso_code ?? result?.registered_country?.iso_code;

View file

@ -7822,10 +7822,10 @@ mathml-tag-names@^2.1.3:
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
maxmind@^4.3.6: maxmind@^4.3.24:
version "4.3.23" version "4.3.24"
resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.23.tgz#e6920149c6104cdf0272d378ce3adf9837dc98f5" resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.24.tgz#c67a4278777210c857434fa8e82bdd6774e5e661"
integrity sha512-AMm4Eem0J0Y1EQJRVSdi2xevw5bJgUDd+lHyQwu0PvGUtK/4uOb8/uidmsrRZ/ST90UfF48H4ShAeFFWKvZ7bw== integrity sha512-dexrLcjfS2xDGOvdV8XcfQYmyQVpGidMwEG2ld19lXlsB+i+lXRWPzQi81HfwRXR4hxzFr5gT0oAIFyqAAb/Ww==
dependencies: dependencies:
mmdb-lib "2.1.1" mmdb-lib "2.1.1"
tiny-lru "11.2.11" tiny-lru "11.2.11"