Switch to Go modules, update dependencies
This commit is contained in:
92
vendor/github.com/oschwald/geoip2-golang/README.md
generated
vendored
Normal file
92
vendor/github.com/oschwald/geoip2-golang/README.md
generated
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
# GeoIP2 Reader for Go #
|
||||
|
||||
[](https://travis-ci.org/oschwald/geoip2-golang)
|
||||
[](https://godoc.org/github.com/oschwald/geoip2-golang)
|
||||
|
||||
This library reads MaxMind [GeoLite2](http://dev.maxmind.com/geoip/geoip2/geolite2/)
|
||||
and [GeoIP2](http://www.maxmind.com/en/geolocation_landing) databases.
|
||||
|
||||
This library is built using
|
||||
[the Go maxminddb reader](https://github.com/oschwald/maxminddb-golang).
|
||||
All data for the database record is decoded using this library. If you only
|
||||
need several fields, you may get superior performance by using maxminddb's
|
||||
`Lookup` directly with a result struct that only contains the required fields.
|
||||
(See [example_test.go](https://github.com/oschwald/maxminddb-golang/blob/master/example_test.go)
|
||||
in the maxminddb repository for an example of this.)
|
||||
|
||||
## Installation ##
|
||||
|
||||
```
|
||||
go get github.com/oschwald/geoip2-golang
|
||||
```
|
||||
|
||||
## Usage ##
|
||||
|
||||
[See GoDoc](http://godoc.org/github.com/oschwald/geoip2-golang) for
|
||||
documentation and examples.
|
||||
|
||||
## Example ##
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/oschwald/geoip2-golang"
|
||||
"log"
|
||||
"net"
|
||||
)
|
||||
|
||||
func main() {
|
||||
db, err := geoip2.Open("GeoIP2-City.mmdb")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer db.Close()
|
||||
// If you are using strings that may be invalid, check that ip is not nil
|
||||
ip := net.ParseIP("81.2.69.142")
|
||||
record, err := db.City(ip)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Printf("Portuguese (BR) city name: %v\n", record.City.Names["pt-BR"])
|
||||
if len(record.Subdivisions) > 0 {
|
||||
fmt.Printf("English subdivision name: %v\n", record.Subdivisions[0].Names["en"])
|
||||
}
|
||||
fmt.Printf("Russian country name: %v\n", record.Country.Names["ru"])
|
||||
fmt.Printf("ISO country code: %v\n", record.Country.IsoCode)
|
||||
fmt.Printf("Time zone: %v\n", record.Location.TimeZone)
|
||||
fmt.Printf("Coordinates: %v, %v\n", record.Location.Latitude, record.Location.Longitude)
|
||||
// Output:
|
||||
// Portuguese (BR) city name: Londres
|
||||
// English subdivision name: England
|
||||
// Russian country name: Великобритания
|
||||
// ISO country code: GB
|
||||
// Time zone: Europe/London
|
||||
// Coordinates: 51.5142, -0.0931
|
||||
}
|
||||
```
|
||||
|
||||
## Testing ##
|
||||
|
||||
Make sure you checked out test data submodule:
|
||||
|
||||
```
|
||||
git submodule init
|
||||
git submodule update
|
||||
```
|
||||
|
||||
Execute test suite:
|
||||
|
||||
```
|
||||
go test
|
||||
```
|
||||
|
||||
## Contributing ##
|
||||
|
||||
Contributions welcome! Please fork the repository and open a pull request
|
||||
with your changes.
|
||||
|
||||
## License ##
|
||||
|
||||
This is free software, licensed under the ISC license.
|
Reference in New Issue
Block a user