gin/request/wrapper.go

122 lines
2.9 KiB
Go

// Package gin ...
//
// Description : gin ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-12-29 15:10
package request
import (
"git.zhangdeman.cn/zhangdeman/wrapper"
"github.com/gin-gonic/gin"
"net/url"
"strings"
)
var (
WrapperHandle = &wrapperHandle{}
)
type wrapperHandle struct {
}
// GetHeader 读取header
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:22 2023/12/25
func (wh *wrapperHandle) GetHeader(ctx *gin.Context, headerKey string, defaultVal string) string {
if nil == ctx {
return defaultVal
}
val := ctx.GetHeader(headerKey)
return wrapper.TernaryOperator.String(len(val) > 0, wrapper.String(val), wrapper.String(defaultVal)).Value()
}
// GetCookie 读取cookie
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:23 2023/12/25
func (wh *wrapperHandle) GetCookie(ctx *gin.Context, cookieName string, defaultVal string) string {
if nil == ctx {
return ""
}
val, err := ctx.Cookie(cookieName)
if nil != err {
return defaultVal
}
return wrapper.TernaryOperator.String(len(val) > 0, wrapper.String(val), wrapper.String(defaultVal)).Value()
}
// GetUri 获取请求URI
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:13 2023/12/29
func (wh *wrapperHandle) GetUri(ctx *gin.Context, defaultVal string) string {
if nil != ctx && nil != ctx.Request && nil != ctx.Request.URL {
return ctx.Request.URL.Path
}
return defaultVal
}
// GetScheme 获取scheme
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 16:16 2024/1/2
func (wh *wrapperHandle) GetScheme(ctx *gin.Context, defaultVal string) string {
if nil != ctx && nil != ctx.Request && nil != ctx.Request.URL {
return ctx.Request.URL.Scheme
}
return defaultVal
}
// GetQuery 获取query参数
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 16:03 2024/1/2
func (wh *wrapperHandle) GetQuery(ctx *gin.Context) url.Values {
if nil != ctx && nil != ctx.Request && nil != ctx.Request.URL {
return ctx.Request.URL.Query()
}
return make(url.Values)
}
// GetMethod 获取请求方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:19 2024/1/2
func (wh *wrapperHandle) GetMethod(ctx *gin.Context) string {
if nil != ctx && nil != ctx.Request {
return ctx.Request.Method
}
return ""
}
// GetContentType 获取请求方式
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:24 2023/12/29
func (wh *wrapperHandle) GetContentType(ctx *gin.Context, defaultVal string) string {
if nil == ctx {
return defaultVal
}
contentType := strings.ToLower(ctx.ContentType())
return wrapper.TernaryOperator.String(len(contentType) > 0, wrapper.String(contentType), wrapper.String(defaultVal)).Value()
}
// GetResponseBody 获取响应body
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:18 2024/1/2
func (wh *wrapperHandle) GetResponseBody(ctx *gin.Context, defaultVal string) string {
return ""
}