You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gorequest/http_is.go

53 lines
1.7 KiB

package gorequest
import (
"errors"
"github.com/gin-gonic/gin"
"github.com/kataras/iris/v12"
"github.com/labstack/echo/v4"
"net/http"
)
// IsWechatMiniProgramRequest 原生框架 -> 判断是否是微信小程序
func IsWechatMiniProgramRequest(r *http.Request, appid string) error {
referer := r.Referer()
userAgent := r.UserAgent()
if referer == "" {
return errors.New("网络请求没有达到要求")
}
return isWechatMiniProgramRequestReferer(userAgent, referer, appid)
}
// GinIsWechatMiniProgramRequest Gin框架 -> 判断是否是微信小程序
// https://gin-gonic.com/zh-cn/docs/
func GinIsWechatMiniProgramRequest(ctx *gin.Context, appid string) error {
referer := ctx.Request.Referer()
userAgent := ctx.Request.UserAgent()
if referer == "" {
return errors.New("网络请求没有达到要求")
}
return isWechatMiniProgramRequestReferer(userAgent, referer, appid)
}
// IrisIsWechatMiniProgramRequest Iris框架 -> 判断是否是微信小程序
// https://www.iris-go.com/docs/
func IrisIsWechatMiniProgramRequest(ctx iris.Context, appid string) error {
referer := ctx.Request().Referer()
userAgent := ctx.Request().UserAgent()
if referer == "" {
return errors.New("网络请求没有达到要求")
}
return isWechatMiniProgramRequestReferer(userAgent, referer, appid)
}
// EchoIsWechatMiniProgramRequest Echo框架 -> 判断是否是微信小程序
// https://echo.labstack.com/docs/
func EchoIsWechatMiniProgramRequest(ctx echo.Context, appid string) error {
referer := ctx.Request().Referer()
userAgent := ctx.Request().UserAgent()
if referer == "" {
return errors.New("网络请求没有达到要求")
}
return isWechatMiniProgramRequestReferer(userAgent, referer, appid)
}