mirror of
https://github.com/umami-software/umami.git
synced 2026-02-19 03:55:37 +01:00
Merge pull request #8 from autodity/fix/add-customer-location-umami
feat(customize-header): add customize header
This commit is contained in:
commit
31a2d5ec8e
1 changed files with 37 additions and 0 deletions
|
|
@ -76,6 +76,43 @@ export async function getLocation(ip: string, req: NextApiRequestCollect) {
|
|||
log('Localhost:', ip);
|
||||
return;
|
||||
}
|
||||
const envHeaders = {
|
||||
country: process.env.X_UMAMI_IP_COUNTRY?.toLowerCase(),
|
||||
region: process.env.X_UMAMI_IP_COUNTRY_REGION?.toLowerCase(),
|
||||
city: process.env.X_UMAMI_IP_CITY?.toLowerCase(),
|
||||
lat: process.env.X_UMAMI_IP_LATITUDE?.toLowerCase(),
|
||||
lng: process.env.X_UMAMI_IP_LONGITUDE?.toLowerCase(),
|
||||
};
|
||||
|
||||
const hasCustomHeaders =
|
||||
envHeaders.country &&
|
||||
envHeaders.region &&
|
||||
envHeaders.city &&
|
||||
envHeaders.lat &&
|
||||
envHeaders.lng &&
|
||||
req.headers[envHeaders.country] &&
|
||||
req.headers[envHeaders.region] &&
|
||||
req.headers[envHeaders.city] &&
|
||||
req.headers[envHeaders.lat] &&
|
||||
req.headers[envHeaders.lng];
|
||||
|
||||
if (hasCustomHeaders) {
|
||||
log('Use custom headers');
|
||||
|
||||
const country = safeDecodeURIComponent(req.headers[envHeaders.country]);
|
||||
const subdivision1Raw = safeDecodeURIComponent(req.headers[envHeaders.region]);
|
||||
const city = safeDecodeURIComponent(req.headers[envHeaders.city]);
|
||||
const lat = parseFloat(safeDecodeURIComponent(req.headers[envHeaders.lat]));
|
||||
const lng = parseFloat(safeDecodeURIComponent(req.headers[envHeaders.lng]));
|
||||
|
||||
return {
|
||||
country,
|
||||
subdivision1: getRegionCode(country, subdivision1Raw),
|
||||
city,
|
||||
lat,
|
||||
lng,
|
||||
};
|
||||
}
|
||||
|
||||
// Cloudflare headers
|
||||
if (req.headers['cf-ipcountry']) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue