Files
OpenFlare/openflare-server/controller/geoip.go
T
2026-06-06 10:46:40 +08:00

38 lines
939 B
Go

package controller
import (
"github.com/rain-kl/openflare/openflare-server/common/response"
"github.com/rain-kl/openflare/openflare-server/controller/bind"
"github.com/rain-kl/openflare/openflare-server/service"
"github.com/gin-gonic/gin"
)
type geoIPLookupRequest struct {
Provider string `json:"provider"`
IP string `json:"ip"`
}
// LookupGeoIP godoc
// @Summary Test GeoIP lookup
// @Tags Options
// @Accept json
// @Produce json
// @Param payload body geoIPLookupRequest true "GeoIP lookup payload"
// @Success 200 {object} map[string]interface{}
// @Failure 400 {object} map[string]interface{}
// @Router /api/option/geoip/lookup [post]
func LookupGeoIP(c *gin.Context) {
var request geoIPLookupRequest
if !bind.JSON(c, &request) {
return
}
view, err := service.LookupGeoIP(request.Provider, request.IP)
if err != nil {
response.RespondFailure(c, err.Error())
return
}
response.RespondSuccess(c, view)
}