From 66c6a30cf20da292b38fee273be19a32419227af Mon Sep 17 00:00:00 2001 From: Leon Date: Fri, 16 Feb 2024 21:08:45 +0800 Subject: [PATCH 1/5] Update build message in Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a77d60f..0cf4698 100644 --- a/Makefile +++ b/Makefile @@ -22,4 +22,4 @@ deps: build: @echo "Building binary..." @bash ./script/build.sh $(build_args) - @echo "Binary built." + @echo "Binary built successfully." From aae8a04e420431265a111d8ef3194149c8fe6a9e Mon Sep 17 00:00:00 2001 From: Leon Date: Fri, 16 Feb 2024 21:21:24 +0800 Subject: [PATCH 2/5] Refactor token refresh logic in authorize handler --- internal/gogin/authorize_handler.go | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/gogin/authorize_handler.go b/internal/gogin/authorize_handler.go index 2e3259b..65b329e 100644 --- a/internal/gogin/authorize_handler.go +++ b/internal/gogin/authorize_handler.go @@ -58,20 +58,21 @@ func Authorize(opt AuthorizeOption) gin.HandlerFunc { token = strings.TrimSpace(token) if token != "" { _, isLogin = getUserFromToken(token, c) - if !isLogin { - refreshToken, _ := c.Cookie(singleton.Conf.JWT.RefreshTokenCookieName) - if refreshToken != "" { - newToken, err := auth.RefreshToken(refreshToken, singleton.Conf) - if err != nil { - singleton.Log.Err(err).Msgf("RefreshToken: %v", err) - ShowErrorPage(c, unauthorizedErr, opt.IsPage) - return - } - - UserLoginSuccess(c, newToken) - token = newToken.AccessToken - _, isLogin = getUserFromToken(token, c) + } + + if !isLogin { + refreshToken, err := c.Cookie(singleton.Conf.JWT.RefreshTokenCookieName) + if refreshToken != "" && err == nil { + newToken, err := auth.RefreshToken(refreshToken, singleton.Conf) + if err != nil { + singleton.Log.Err(err).Msgf("RefreshToken: %v", err) + ShowErrorPage(c, unauthorizedErr, opt.IsPage) + return } + + UserLoginSuccess(c, newToken) + token = newToken.AccessToken + _, isLogin = getUserFromToken(token, c) } } From b63018c5a0c39c7ff51c20617cb4f5cd915aab24 Mon Sep 17 00:00:00 2001 From: Leon Date: Fri, 16 Feb 2024 21:27:27 +0800 Subject: [PATCH 3/5] Refactor ping endpoint to use WriteString method --- cmd/srv/controller/common_page.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cmd/srv/controller/common_page.go b/cmd/srv/controller/common_page.go index c769675..8266477 100644 --- a/cmd/srv/controller/common_page.go +++ b/cmd/srv/controller/common_page.go @@ -22,7 +22,5 @@ func (p *commonPage) home(c *gin.Context) { } func (p *commonPage) ping(c *gin.Context) { - c.JSON(http.StatusOK, gin.H{ - "message": "pong", - }) + c.Writer.WriteString("pong") } From 666c35836df62545e5549f94ef3b81720fc0ae0a Mon Sep 17 00:00:00 2001 From: Leon Date: Fri, 16 Feb 2024 21:37:19 +0800 Subject: [PATCH 4/5] Add route printing functionality to main.go --- cmd/main.go | 6 ++++++ pkg/mygin/gin.go | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/cmd/main.go b/cmd/main.go index 25d4954..7f9ca84 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -4,9 +4,11 @@ import ( "context" "fmt" "go-gin/cmd/srv/controller" + "go-gin/pkg/mygin" "go-gin/pkg/utils" "go-gin/service/singleton" + "github.com/gin-gonic/gin" "github.com/ory/graceful" flag "github.com/spf13/pflag" ) @@ -62,6 +64,10 @@ func main() { fmt.Printf(" - %-7s: %s\n", "Network", utils.Colorize(utils.ColorGreen, fmt.Sprintf("http://%s:%d", ip, port))) } } + + fmt.Println() + fmt.Println("Server available routes:") + mygin.PrintRoute(srv.Handler.(*gin.Engine)) fmt.Println() } diff --git a/pkg/mygin/gin.go b/pkg/mygin/gin.go index 5ca42e8..ca7b566 100644 --- a/pkg/mygin/gin.go +++ b/pkg/mygin/gin.go @@ -2,6 +2,7 @@ package mygin import ( "fmt" + "go-gin/pkg/utils" "net/http" "strings" @@ -64,3 +65,10 @@ func BindForm(c *gin.Context, isForm bool, form interface{}) error { return c.ShouldBindJSON(form) } } + +func PrintRoute(r *gin.Engine) { + routes := r.Routes() + for _, route := range routes { + fmt.Printf(" - Route Path: %s, Method: %s\n", utils.Colorize(utils.ColorGreen, route.Path), utils.Colorize(utils.ColorGreen, route.Method)) + } +} From 9e9e1cd8e68de4cfe1ebda2e57196e1647cd13a9 Mon Sep 17 00:00:00 2001 From: Leon Date: Fri, 16 Feb 2024 21:38:20 +0800 Subject: [PATCH 5/5] Add CORS, NoCache, SecureJSON, and GenerateContextId handlers --- pkg/mygin/{handler.go => handlers.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pkg/mygin/{handler.go => handlers.go} (100%) diff --git a/pkg/mygin/handler.go b/pkg/mygin/handlers.go similarity index 100% rename from pkg/mygin/handler.go rename to pkg/mygin/handlers.go