github.com/jimpick/sp-kyc-checks@v0.0.0-20230201194251-fa84fca72da8/checks/geoip/geoip2_api.go (about)

     1  package geoip
     2  
     3  import (
     4  	"context"
     5  	"log"
     6  	"os"
     7  
     8  	"github.com/savaki/geoip2"
     9  )
    10  
    11  func getGeoIP2(ctx context.Context, ip string) (geoip2.Response, error) {
    12  	userid := os.Getenv("MAXMIND_USER_ID")
    13  	key := os.Getenv("MAXMIND_LICENSE_KEY")
    14  	if userid == "skip" || key == "skip" {
    15  		log.Println("Warning: Skipping Maxmind GeoIP2 API lookups")
    16  		return geoip2.Response{}, nil
    17  	}
    18  	api := geoip2.New(userid, key)
    19  	return api.Insights(ctx, ip)
    20  }