diff --git a/CHANGELOG.md b/CHANGELOG.md index 28e8976..e378591 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,5 @@ # 更新日志 -4.1.1 - 2025-06-17 ---- -- CHANGE: 更新touka框架到v0.2.6, 解决MidwareX的一些状态问题 - 4.1.0 - 2025-06-17 --- - ADD: 加入基于`basic auth`的docker鉴权支持 diff --git a/VERSION b/VERSION index 2582ddd..99eba4d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.1.1 \ No newline at end of file +4.1.0 \ No newline at end of file diff --git a/go.mod b/go.mod index 6c23592..db39a60 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/fenthope/reco v0.0.3 github.com/fenthope/record v0.0.3 github.com/hashicorp/golang-lru/v2 v2.0.7 - github.com/infinite-iroha/touka v0.2.6 + github.com/infinite-iroha/touka v0.2.5 github.com/wjqserver/modembed v0.0.1 ) diff --git a/go.sum b/go.sum index 07c6e9b..1c3af22 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,8 @@ github.com/go-json-experiment/json v0.0.0-20250517221953-25912455fbc8 h1:o8UqXPI github.com/go-json-experiment/json v0.0.0-20250517221953-25912455fbc8/go.mod h1:TiCD2a1pcmjd7YnhGH0f/zKNcCD06B029pHhzV23c2M= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/infinite-iroha/touka v0.2.6 h1:Y2zJTklfJZYO70jF9LPKq261IMt1vV8L1JBKUquQKIk= -github.com/infinite-iroha/touka v0.2.6/go.mod h1:2MBPtsM+5ClIZ/E1mPEKx1Rb+KIndTwZlIa2CwRPV7A= +github.com/infinite-iroha/touka v0.2.5 h1:x7lcKk0MIHGrPb9TMmgC+nG57G4SeFGflwrta2Lz3jo= +github.com/infinite-iroha/touka v0.2.5/go.mod h1:2MBPtsM+5ClIZ/E1mPEKx1Rb+KIndTwZlIa2CwRPV7A= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/wjqserver/modembed v0.0.1 h1:8ZDz7t9M5DLrUFlYgBUUmrMzxWsZPmHvOazkr/T2jEs= diff --git a/main.go b/main.go index 5a37296..1dcdea9 100644 --- a/main.go +++ b/main.go @@ -414,21 +414,16 @@ func main() { proxy.RoutingHandler(cfg)(c) }) - r.GET("/v2/", - r.UseIf(cfg.Docker.Auth, func() touka.HandlerFunc { - return bauth.BasicAuthForStatic(cfg.Docker.Credentials, "GHProxy Docker Proxy") - }), - func(c *touka.Context) { - emptyJSON := "{}" - c.Header("Content-Type", "application/json") - c.Header("Content-Length", fmt.Sprint(len(emptyJSON))) + r.GET("/v2/", r.UseIf(cfg.Docker.Auth, bauth.BasicAuthForStatic(cfg.Docker.Credentials, "GHProxy Docker Proxy")), func(c *touka.Context) { + emptyJSON := "{}" + c.Header("Content-Type", "application/json") + c.Header("Content-Length", fmt.Sprint(len(emptyJSON))) - c.Header("Docker-Distribution-API-Version", "registry/2.0") + c.Header("Docker-Distribution-API-Version", "registry/2.0") - c.Status(200) - c.Writer.Write([]byte(emptyJSON)) - }, - ) + c.Status(200) + c.Writer.Write([]byte(emptyJSON)) + }) r.GET("/v2", func(c *touka.Context) { // 重定向到 /v2/ diff --git a/proxy/gitreq.go b/proxy/gitreq.go index e4f0d95..a8e2905 100644 --- a/proxy/gitreq.go +++ b/proxy/gitreq.go @@ -17,6 +17,13 @@ func GitReq(ctx context.Context, c *touka.Context, u string, cfg *config.Config, resp *http.Response ) + go func() { + <-ctx.Done() + if resp != nil && resp.Body != nil { + resp.Body.Close() + } + }() + /* fullBody, err := c.GetReqBodyFull() if err != nil {