mirror of
https://github.com/mpolden/echoip.git
synced 2025-06-26 20:57:51 +02:00
Rename package database -> geo
This commit is contained in:
14
http/http.go
14
http/http.go
@ -7,7 +7,7 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/mpolden/ipd/iputil"
|
||||
"github.com/mpolden/ipd/iputil/database"
|
||||
"github.com/mpolden/ipd/iputil/geo"
|
||||
"github.com/mpolden/ipd/useragent"
|
||||
|
||||
"net"
|
||||
@ -25,7 +25,7 @@ type Server struct {
|
||||
IPHeaders []string
|
||||
LookupAddr func(net.IP) (string, error)
|
||||
LookupPort func(net.IP, uint64) error
|
||||
db database.Client
|
||||
gr geo.Reader
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
@ -43,8 +43,8 @@ type PortResponse struct {
|
||||
Reachable bool `json:"reachable"`
|
||||
}
|
||||
|
||||
func New(db database.Client) *Server {
|
||||
return &Server{db: db}
|
||||
func New(db geo.Reader) *Server {
|
||||
return &Server{gr: db}
|
||||
}
|
||||
|
||||
func ipFromRequest(headers []string, r *http.Request) (net.IP, error) {
|
||||
@ -75,8 +75,8 @@ func (s *Server) newResponse(r *http.Request) (Response, error) {
|
||||
return Response{}, err
|
||||
}
|
||||
ipDecimal := iputil.ToDecimal(ip)
|
||||
country, _ := s.db.Country(ip)
|
||||
city, _ := s.db.City(ip)
|
||||
country, _ := s.gr.Country(ip)
|
||||
city, _ := s.gr.City(ip)
|
||||
var hostname string
|
||||
if s.LookupAddr != nil {
|
||||
hostname, _ = s.LookupAddr(ip)
|
||||
@ -264,7 +264,7 @@ func (s *Server) Handler() http.Handler {
|
||||
r.Route("GET", "/", s.CLIHandler).MatcherFunc(cliMatcher)
|
||||
r.Route("GET", "/", s.CLIHandler).Header("Accept", textMediaType)
|
||||
r.Route("GET", "/ip", s.CLIHandler)
|
||||
if !s.db.IsEmpty() {
|
||||
if !s.gr.IsEmpty() {
|
||||
r.Route("GET", "/country", s.CLICountryHandler)
|
||||
r.Route("GET", "/country-iso", s.CLICountryISOHandler)
|
||||
r.Route("GET", "/city", s.CLICityHandler)
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/mpolden/ipd/iputil/database"
|
||||
"github.com/mpolden/ipd/iputil/geo"
|
||||
)
|
||||
|
||||
func lookupAddr(net.IP) (string, error) { return "localhost", nil }
|
||||
@ -16,15 +16,15 @@ func lookupPort(net.IP, uint64) error { return nil }
|
||||
|
||||
type testDb struct{}
|
||||
|
||||
func (t *testDb) Country(net.IP) (database.Country, error) {
|
||||
return database.Country{Name: "Elbonia", ISO: "EB"}, nil
|
||||
func (t *testDb) Country(net.IP) (geo.Country, error) {
|
||||
return geo.Country{Name: "Elbonia", ISO: "EB"}, nil
|
||||
}
|
||||
|
||||
func (t *testDb) City(net.IP) (string, error) { return "Bornyasherk", nil }
|
||||
func (t *testDb) IsEmpty() bool { return false }
|
||||
|
||||
func testServer() *Server {
|
||||
return &Server{db: &testDb{}, LookupAddr: lookupAddr, LookupPort: lookupPort}
|
||||
return &Server{gr: &testDb{}, LookupAddr: lookupAddr, LookupPort: lookupPort}
|
||||
}
|
||||
|
||||
func httpGet(url string, acceptMediaType string, userAgent string) (string, int, error) {
|
||||
@ -87,7 +87,7 @@ func TestDisabledHandlers(t *testing.T) {
|
||||
server := testServer()
|
||||
server.LookupPort = nil
|
||||
server.LookupAddr = nil
|
||||
server.db, _ = database.New("", "")
|
||||
server.db, _ = geo.New("", "")
|
||||
s := httptest.NewServer(server.Handler())
|
||||
|
||||
var tests = []struct {
|
||||
|
Reference in New Issue
Block a user