diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-02-11 13:19:50 +0300 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2018-02-11 13:24:11 +0300 |
commit | d49f1f73768c9cb874f19cd15c8d2192044ff76b (patch) | |
tree | d9bfc0e6c22c3e488cd5049f2a150483e502db2e /http | |
parent | 5d43f175d45b36643b21eff819d6aacc17ab2230 (diff) |
Simplify
Diffstat (limited to 'http')
-rw-r--r-- | http/http.go | 21 | ||||
-rw-r--r-- | http/http_test.go | 8 |
2 files changed, 13 insertions, 16 deletions
diff --git a/http/http.go b/http/http.go index dffa989..1f127f5 100644 --- a/http/http.go +++ b/http/http.go @@ -23,14 +23,11 @@ const ( textMediaType = "text/plain" ) -type LookupAddr func(net.IP) ([]string, error) -type LookupPort func(net.IP, uint64) error - type Server struct { Template string IPHeader string - lookupAddr LookupAddr - lookupPort LookupPort + LookupAddr func(net.IP) ([]string, error) + LookupPort func(net.IP, uint64) error db database.Client log *logrus.Logger } @@ -50,8 +47,8 @@ type PortResponse struct { Reachable bool `json:"reachable"` } -func New(db database.Client, lookupAddr LookupAddr, lookupPort LookupPort, log *logrus.Logger) *Server { - return &Server{lookupAddr: lookupAddr, lookupPort: lookupPort, db: db, log: log} +func New(db database.Client, log *logrus.Logger) *Server { + return &Server{db: db, log: log} } func ipFromRequest(header string, r *http.Request) (net.IP, error) { @@ -85,8 +82,8 @@ func (s *Server) newResponse(r *http.Request) (Response, error) { s.log.Debug(err) } var hostnames []string - if s.lookupAddr != nil { - h, err := s.lookupAddr(ip) + if s.LookupAddr != nil { + h, err := s.LookupAddr(ip) if err != nil { s.log.Debug(err) } @@ -115,7 +112,7 @@ func (s *Server) newPortResponse(r *http.Request) (PortResponse, error) { if err != nil { return PortResponse{Port: port}, err } - err = s.lookupPort(ip, port) + err = s.LookupPort(ip, port) return PortResponse{ IP: ip, Port: port, @@ -210,7 +207,7 @@ func (s *Server) DefaultHandler(w http.ResponseWriter, r *http.Request) *appErro response, r.Host, string(json), - s.lookupPort != nil, + s.LookupPort != nil, response.Country != "" && response.City != "", } if err := t.Execute(w, &data); err != nil { @@ -281,7 +278,7 @@ func (s *Server) Handler() http.Handler { r.Handle("/", appHandler(s.DefaultHandler)).Methods("GET") // Port testing - if s.lookupPort != nil { + if s.LookupPort != nil { r.Handle("/port/{port:[0-9]+}", appHandler(s.PortHandler)).Methods("GET") } diff --git a/http/http_test.go b/http/http_test.go index de1d407..52b92c9 100644 --- a/http/http_test.go +++ b/http/http_test.go @@ -24,7 +24,7 @@ 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{db: &testDb{}, LookupAddr: lookupAddr, LookupPort: lookupPort} } func httpGet(url string, acceptMediaType string, userAgent string) (string, int, error) { @@ -85,9 +85,9 @@ func TestCLIHandlers(t *testing.T) { func TestDisabledHandlers(t *testing.T) { log.SetOutput(ioutil.Discard) server := testServer() - server.lookupPort = nil - server.lookupAddr = nil - server.db = database.Empty() + server.LookupPort = nil + server.LookupAddr = nil + server.db, _ = database.New("", "") s := httptest.NewServer(server.Handler()) var tests = []struct { |