diff --git a/middleware/params.go b/middleware/params.go index 40e7383..32d5301 100644 --- a/middleware/params.go +++ b/middleware/params.go @@ -3,12 +3,26 @@ package middleware import ( "net/url" + "github.com/gorilla/schema" "github.com/kataras/iris/v12" "github.com/lampnick/doctron/common" ) func CheckParams(ctx iris.Context) { - webUrl := ctx.URLParam("url") + type Param struct { + Url string `schema:"url,omitempty" validate:"required,url"` + } + dto := Param{} + decoder := schema.NewDecoder() + err := decoder.Decode(&dto, ctx.Request().URL.Query()) + if err != nil { + outputDTO := common.NewDefaultOutputDTO(nil) + outputDTO.Code = common.InvalidUrl + outputDTO.Message = err.Error() + _, _ = common.NewJsonOutput(ctx, outputDTO) + return + } + webUrl := dto.Url if webUrl == "" { outputDTO := common.NewDefaultOutputDTO(nil) outputDTO.Code = common.InvalidUrl