From c6654cb4aea2ed0f5dea1abcc7dc20aa88ee46f6 Mon Sep 17 00:00:00 2001 From: cuidajun Date: Fri, 15 Jul 2022 16:24:24 +0800 Subject: [PATCH] fix: upload_manager write header immediately when it is ready (#1466) Signed-off-by: bigerous --- client/daemon/upload/upload_manager.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/daemon/upload/upload_manager.go b/client/daemon/upload/upload_manager.go index 5a7da1be8..c92edb114 100644 --- a/client/daemon/upload/upload_manager.go +++ b/client/daemon/upload/upload_manager.go @@ -212,6 +212,9 @@ func (um *uploadManager) getDownload(ctx *gin.Context) { } defer closer.Close() + // write header immediately, prevent client disconnecting after limiter.Wait() due to response header timeout + ctx.Writer.WriteHeaderNow() + if um.Limiter != nil { if err = um.Limiter.WaitN(ctx, int(rg[0].Length)); err != nil { log.Errorf("get limit failed: %s", err)