From 0e7abf3411d50a5b16b8fbba8543e880c713b659 Mon Sep 17 00:00:00 2001 From: wjqserver <114663932+WJQSERVER@users.noreply.github.com> Date: Sat, 22 Mar 2025 20:56:57 +0800 Subject: [PATCH] [backport] add smart-git api --- api/api.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/api/api.go b/api/api.go index 5a53c63..1b28789 100644 --- a/api/api.go +++ b/api/api.go @@ -15,7 +15,7 @@ var ( var ( logw = logger.Logw - LogDump = logger.LogDump + logDump = logger.LogDump logDebug = logger.LogDebug logInfo = logger.LogInfo logWarning = logger.LogWarning @@ -59,6 +59,9 @@ func InitHandleRouter(cfg *config.Config, router *gin.Engine, version string) { apiRouter.GET("/rate_limit/limit", func(c *gin.Context) { RateLimitLimitHandler(c, cfg) }) + apiRouter.GET("/smartgit/status", func(c *gin.Context) { + SmartGitStatusHandler(c, cfg) + }) } logInfo("API router Init success") } @@ -127,3 +130,11 @@ func RateLimitLimitHandler(c *gin.Context, cfg *config.Config) { "RatePerMinute": cfg.RateLimit.RatePerMinute, }) } + +func SmartGitStatusHandler(c *gin.Context, cfg *config.Config) { + logInfo("%s %s %s %s %s", c.ClientIP(), c.Request.Method, c.Request.URL.Path, c.Request.UserAgent(), c.Request.Proto) + c.Writer.Header().Set("Content-Type", "application/json") + json.NewEncoder(c.Writer).Encode(map[string]interface{}{ + "enabled": cfg.GitClone.Mode == "cache", + }) +}