From 9eb3b92c41c05b9bb2f2b7afb53df0a3989d222c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Tue, 23 Jul 2024 16:40:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0wrapper=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- request/wrapper.go | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/request/wrapper.go b/request/wrapper.go index 1cdc62a..9efc290 100644 --- a/request/wrapper.go +++ b/request/wrapper.go @@ -119,3 +119,75 @@ func (wh *wrapperHandle) GetContentType(ctx *gin.Context, defaultVal string) str func (wh *wrapperHandle) GetResponseBody(ctx *gin.Context, defaultVal string) string { return "" } + +// GetClientIp 获取请求客户端IP +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 16:31 2024/7/23 +func (wh *wrapperHandle) GetClientIp(ctx *gin.Context, defaultVal string) string { + if nil == ctx { + return defaultVal + } + return ctx.ClientIP() +} + +// GetUserAgent 获取user_agent +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 16:32 2024/7/23 +func (wh *wrapperHandle) GetUserAgent(ctx *gin.Context, defaultVal string) string { + if nil == ctx { + return defaultVal + } + return ctx.Request.UserAgent() +} + +// GetCtxData 获取请求上下文数据 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 16:35 2024/7/23 +func (wh *wrapperHandle) GetCtxData(ctx *gin.Context, key string, defaultVal any) any { + if nil == ctx { + return defaultVal + } + if val, exist := ctx.Get(key); !exist || nil == val { + return defaultVal + } else { + return val + } +} + +// GetCtxStringData 获取字符串数据 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 16:37 2024/7/23 +func (wh *wrapperHandle) GetCtxStringData(ctx *gin.Context, key string, defaultVal string) string { + if nil == ctx { + return defaultVal + } + val := ctx.GetString(key) + if len(val) == 0 { + return defaultVal + } + return val +} + +// GetCtxIntData 获取int数据 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 16:39 2024/7/23 +func (wh *wrapperHandle) GetCtxIntData(ctx *gin.Context, key string, defaultVal int64) int64 { + if nil == ctx { + return defaultVal + } + val := wh.GetCtxData(ctx, key, nil) + if nil == val { + return defaultVal + } + return ctx.GetInt64(key) +}