diff --git a/CHANGELOG.md b/CHANGELOG.md index e378591..28e8976 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # 更新日志 +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 99eba4d..2582ddd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.1.0 \ No newline at end of file +4.1.1 \ No newline at end of file diff --git a/go.mod b/go.mod index db39a60..6c23592 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.5 + github.com/infinite-iroha/touka v0.2.6 github.com/wjqserver/modembed v0.0.1 ) diff --git a/go.sum b/go.sum index 1c3af22..07c6e9b 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.5 h1:x7lcKk0MIHGrPb9TMmgC+nG57G4SeFGflwrta2Lz3jo= -github.com/infinite-iroha/touka v0.2.5/go.mod h1:2MBPtsM+5ClIZ/E1mPEKx1Rb+KIndTwZlIa2CwRPV7A= +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/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 1dcdea9..5a37296 100644 --- a/main.go +++ b/main.go @@ -414,16 +414,21 @@ func main() { proxy.RoutingHandler(cfg)(c) }) - 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))) + 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))) - 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 a8e2905..e4f0d95 100644 --- a/proxy/gitreq.go +++ b/proxy/gitreq.go @@ -17,13 +17,6 @@ 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 {