Comments (3)
The reader doesn't panic. The panic is coming from your panic(err)
call. The error is returned as the reader doesn't know about this database type. Assuming the database is similar to the MaxMind GeoLite2 ASN database, it could likely be added to that case in the switch statement:
Line 276 in 4641e77
from geoip2-golang.
Seems be this bug mapping from https://github.com/oschwald/maxminddb-golang
package main
import (
"fmt"
"log"
"net"
mmdb "github.com/oschwald/maxminddb-golang"
)
func main() {
mmdbASN, err := mmdb.Open("dbip-asn.mmdb")
if err != nil {
panic(err)
}
ipParsed := net.ParseIP("1.1.1.1")
var record interface{}
err = mmdbASN.Lookup(ipParsed, &record)
if err != nil {
log.Panic(err)
}
fmt.Printf("%v", record)
return
}
Output:
map[autonomous_system_number:13335 autonomous_system_organization:Cloudflare, Inc.]
from geoip2-golang.
fmt.Println(db.Metadata.DatabaseType)
// DBIP-ASN-Lite (compat=GeoLite2-ASN)
I think it's better using regex/match instead of switch. MaxMind is db structure and database information might be different if you build your own database.
https://github.com/maxmind/MaxMind-DB-Writer-perl
database_type => 'My-Special-ASN-List-InOurCompany (compat=GeoLite2-ASN)',
from geoip2-golang.
Related Issues (20)
- "unexpected end of database" error when using latest country db HOT 2
- City *Reader unexpected fault address issue
- Incorrect ip recognition position HOT 1
- DP-IP & GeoIP2 HOT 1
- geoip2.ASN no Network Prefix support? HOT 1
- Add go module support HOT 3
- suport ipv6? HOT 1
- Feature: fetch ASN by ASN number? HOT 1
- Reload the database in thread safe manner HOT 3
- CIDR Support HOT 3
- Unexpected fault address opening MaxMind DB ISP file HOT 4
- mmdb export to csv or to dat HOT 1
- Exporting getDBType, databaseType and isTYPE constants HOT 2
- What's the difference with oschwald / maxminddb-golang? HOT 1
- fs.FS support? HOT 2
- Issue with Go 1.18 HOT 2
- Crash by: signal SIGBUS: bus error HOT 7
- For GeoLite2-ASN.mmdb: query organization name with known ASN HOT 1
- Add compatibility with new net/netip package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geoip2-golang.