/api/ip_database.go

https://gitlab.com/voxxit/gogeoip2 · Go · 31 lines · 23 code · 8 blank · 0 comment · 4 complexity · cebb1ecbdf19ae77a802e879a825854c MD5 · raw file

  1. package api
  2. import (
  3. "log"
  4. "github.com/oschwald/geoip2-golang"
  5. )
  6. type IPDatabase struct {
  7. Isp *geoip2.Reader
  8. City *geoip2.Reader
  9. }
  10. func OpenDatabases() *IPDatabase {
  11. db := &IPDatabase{}
  12. isp, err := geoip2.Open("GeoIP2-ISP.mmdb")
  13. if err != nil {
  14. log.Fatal(err)
  15. }
  16. city, err := geoip2.Open("GeoLite2-City.mmdb")
  17. if err != nil {
  18. log.Fatal(err)
  19. }
  20. db.Isp = isp
  21. db.City = city
  22. return db
  23. }