This package uses geolite2-redist and thus, you MUST comply with it specifics conditions. For more informations please check their npm page.
node ace add @stouder-io/adonis-geolite2
Alternatively, you can install it manually.
npm i @stouder-io/adonis-geolite2
If installed manually, you need to manually run the configuration command.
node ace configure @stouder-io/adonis-geolite2
The geolite2 is automatically attached to HTTP requests, allowing you to use it to retries informations about the geolocation of requesting IPs.
router.get('/', ({ geolite2 }: HttpContext) => {
const country = geolite2.country()
const city = geolite2.city()
const asn = geolite2.asn()
return { country, city, asn }
})
If no parameter is provided to the functions, it uses request.ip()
. Alternatively you can pass the IP you want to lookup.
router.get('/', ({ geolite2 }: HttpContext) => {
const country = geolite2.country('8.8.8.8')
const city = geolite2.city('8.8.8.8')
const asn = geolite2.asn('8.8.8.8')
return { country, city, asn }
})