This is a Hapijs plugin for MaxMind GeoIP2 Web Service.
-
decorate: a string, defaults tomaxmindif not specified. This is the identifier in hapi'sserver.decorate()call when registering the plugin. Once specified, you can reference the following attributes:- request.
decorate_string.client - request.
decorate_string.lib - server.
decorate_string.client - server.
decorate_string.lib
where lib is exposed through the plugin (
require('@maxmind/geoip2-node').WebServiceClient) - request.
-
userId: a numeric string, your maxmind userId -
licenseKey: a token string, your maxmind licenseKey
See example.js for example.
I would suggest that caching is enabled for the query results from using this plugin because Maxmind bills by the number of queries - regardless if you query for the same IPs or not. Based on the information from a support representative from Maxmind, they update their databases weekly on Tuesdays, so it makes sense to cache the results for a duration that works for you.