The simplest geolocation middleware for Express that sets location data on the request object.
- Author: Randall Degges
- Email: r@rdegges.com
- Twitter: @rdegges
- Site: https://www.rdegges.com
- Status: production ready
To use this library, you'll need to create a free IP Geolocation account: https://ip-geolocation.whoisxmlapi.com/api
If you haven't done this yet, please do so now.
To install express-simple-geoip
using npm, simply run:
$ npm install express-simple-geoip
In the root of your project directory.
Once you have express-simple-geoip
installed, you can use it to easily get
the physical location of a given IP address for every incoming HTTP request your
web service gets.
This library gives you access to all sorts of geographical location data that you can use in your application in any number of ways.
const express = require("express");
const simpleIP = require("express-simple-geoip");
let app = express();
app.use(simpleIP("your-api-key"));
app.get("/", (req, res) => {
console.log(req.geoip); // print the incoming requester's IP Geolocation data
// ...
});
app.listen(3000);
If you run this minimal Express app and then visit the /
URL, you'll see some
geolocation data printed to the console that looks something like this (based
on your inbound IP address):
{
"country": "US",
"region": "California",
"city": "Mountain View",
"lat": 37.40599,
"lng": -122.078514,
"postalCode": "94043",
"timezone": "-08:00"
}
This library is built on top of the excellent node-simple-geoip
library. It will automatically tack IP Geolocation data onto each incoming req
object
as req.geoip
.
So all you need to do in your code is:
- Initialize the
simpleIP
middleware, passing in your IP Geolocation API key - Use the data found in
req.geoip
- ???
- Profit!
Pretty simple, right?!
0.1.1: 04-18-2018
- Removing images from npm package.
0.1.0: 04-18-2018
- First release!