Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. 'use strict';
  2.  
  3. const maxmind = require('maxmind');
  4.  
  5. const geoliteDBPath = __dirname+'/geolite_db';
  6.  
  7. function getCityCountry(ip) {
  8. return new Promise((res, rej) => {
  9. maxmind.open(geoliteDBPath+'/GeoLite2-City.mmdb', (err, cityLookup) => {
  10. if (!err) {
  11. try {
  12. const obj = cityLookup.get(ip);
  13. const data = obj ? {
  14. city: obj.city.names.en,
  15. country: obj.country.names.en
  16. } : null;
  17.  
  18. res(data);
  19. } catch (e) {
  20. rej(e);
  21. }
  22. } else {
  23. rej(e);
  24. }
  25. });
  26. });
  27. }
  28.  
  29. getCityCountry('66.6.44.4').then(data => console.log(data));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement