mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 05:56:38 +08:00
38 lines
966 B
Go
38 lines
966 B
Go
package controller
|
|
|
|
import (
|
|
"github.com/rain-kl/openflare/openflare-server/internal/common/response"
|
|
"github.com/rain-kl/openflare/openflare-server/internal/controller/bind"
|
|
"github.com/rain-kl/openflare/openflare-server/internal/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)
|
|
}
|