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  }