From bc4e145689ab00693e85aec48866942d2479a6dc Mon Sep 17 00:00:00 2001 From: Twilight Date: Thu, 13 Jun 2024 15:17:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=92=8C=20http=20ctx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/access/http_context.go | 2 ++ internal/providers/gin.go | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/internal/access/http_context.go b/internal/access/http_context.go index 7df039f..3f93c5a 100644 --- a/internal/access/http_context.go +++ b/internal/access/http_context.go @@ -2,10 +2,12 @@ package access import ( "framework_v2/internal/providers" + "github.com/gin-gonic/gin" ) type User providers.JwtIDToken type Metadata struct { + Http *gin.Context User User } diff --git a/internal/providers/gin.go b/internal/providers/gin.go index 6b7a5a3..b37f84f 100644 --- a/internal/providers/gin.go +++ b/internal/providers/gin.go @@ -28,22 +28,22 @@ const ( OPTIONS ) -type HandlerFunc func(c *gin.Context, metadata *access.Metadata) +type HandlerFunc func(metadata *access.Metadata) -func HandleRoute(method httpMethod, relativePath string, handlers ...HandlerFunc) { +func HandleRoute(method httpMethod, relativePath string, controller HandlerFunc, middlewares ...gin.HandlerFunc) { access.Router.Handle(method.String(), relativePath, func(c *gin.Context) { - handleWithMetadata(c, handlers...) + for _, middleware := range middlewares { + middleware(c) + } + + handleWithMetadata(c, controller) }) } -func GetUser(c *gin.Context) *access.User { - return &access.User{} -} - -func handleWithMetadata(c *gin.Context, handlers ...HandlerFunc) { - var metadata = &access.Metadata{} - - for _, handler := range handlers { - handler(c, metadata) +func handleWithMetadata(c *gin.Context, controller HandlerFunc) { + var metadata = &access.Metadata{ + Http: c, } + + controller(metadata) }