Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpolden/echoip.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/http
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-02-11 13:19:50 +0300
committerMartin Polden <mpolden@mpolden.no>2018-02-11 13:24:11 +0300
commitd49f1f73768c9cb874f19cd15c8d2192044ff76b (patch)
treed9bfc0e6c22c3e488cd5049f2a150483e502db2e /http
parent5d43f175d45b36643b21eff819d6aacc17ab2230 (diff)
Simplify
Diffstat (limited to 'http')
-rw-r--r--http/http.go21
-rw-r--r--http/http_test.go8
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 {