fix: upload_manager write header immediately when it is ready (#1466)

Signed-off-by: bigerous <bigerous@qq.com>
This commit is contained in:
cuidajun 2022-07-15 16:24:24 +08:00 committed by Gaius
parent 31032e05aa
commit c6654cb4ae
No known key found for this signature in database
GPG Key ID: 8B4E5D1290FA2FFB
1 changed files with 3 additions and 0 deletions

View File

@ -212,6 +212,9 @@ func (um *uploadManager) getDownload(ctx *gin.Context) {
} }
defer closer.Close() 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 um.Limiter != nil {
if err = um.Limiter.WaitN(ctx, int(rg[0].Length)); err != nil { if err = um.Limiter.WaitN(ctx, int(rg[0].Length)); err != nil {
log.Errorf("get limit failed: %s", err) log.Errorf("get limit failed: %s", err)