github.com/infraboard/keyauth@v0.8.1/apps/ip2region/http/ip2region.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/infraboard/mcube/exception" 7 "github.com/infraboard/mcube/http/response" 8 9 "github.com/infraboard/keyauth/apps/ip2region" 10 ) 11 12 func (h *handler) UpdateDBFile(w http.ResponseWriter, r *http.Request) { 13 req, err := ip2region.NewUploadFileRequestFromHTTP(r) 14 if err != nil { 15 response.Failed(w, exception.NewBadRequest("init request error, %s", err)) 16 return 17 } 18 19 err = h.service.UpdateDBFile(req) 20 if err != nil { 21 response.Failed(w, err) 22 return 23 } 24 25 response.Success(w, "ok") 26 return 27 } 28 29 func (h *handler) LoopupIP(w http.ResponseWriter, r *http.Request) { 30 qs := r.URL.Query() 31 32 ip := qs.Get("ip") 33 if ip == "" { 34 response.Failed(w, exception.NewBadRequest("ip need")) 35 return 36 } 37 38 rc, err := h.service.LookupIP(ip) 39 if err != nil { 40 response.Failed(w, err) 41 return 42 } 43 44 response.Success(w, rc) 45 return 46 }