From 6401a214ec7e00419ab0388087b2b5a935d82a25 Mon Sep 17 00:00:00 2001 From: WeebDataHoarder <57538841+WeebDataHoarder@users.noreply.github.com> Date: Mon, 6 Jun 2022 22:39:49 +0200 Subject: [PATCH] Fix status code write --- httputils/fasthttp.go | 4 ++++ httputils/nethttp.go | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/httputils/fasthttp.go b/httputils/fasthttp.go index 4956182..aa43aed 100644 --- a/httputils/fasthttp.go +++ b/httputils/fasthttp.go @@ -154,10 +154,14 @@ func (c *FastHTTPContext) ServeStream(stream Stream) { c.SetResponseCode(fasthttp.StatusPartialContent) c.SetResponseHeader("Content-Range", fmt.Sprintf("bytes %d-%d/%d", rangeStart, rangeStart+rangeLength-1, size)) size = rangeLength + } else { + + c.SetResponseCode(fasthttp.StatusOK) } c.ctx.SetBodyStream(stream, int(size)) } else { + c.SetResponseCode(fasthttp.StatusOK) c.ctx.SetBodyStream(stream, -1) } } diff --git a/httputils/nethttp.go b/httputils/nethttp.go index 4976d42..8701d8c 100644 --- a/httputils/nethttp.go +++ b/httputils/nethttp.go @@ -152,17 +152,22 @@ func (c *NetHTTPContext) ServeStream(stream Stream) { return } - c.SetResponseCode(fasthttp.StatusPartialContent) + c.SetResponseHeader("Content-Length", strconv.FormatInt(size, 10)) c.SetResponseHeader("Content-Range", fmt.Sprintf("bytes %d-%d/%d", rangeStart, rangeStart+rangeLength-1, size)) + c.SetResponseCode(fasthttp.StatusPartialContent) size = rangeLength + } else { + c.SetResponseHeader("Content-Length", strconv.FormatInt(size, 10)) + c.SetResponseCode(fasthttp.StatusOK) } - c.SetResponseHeader("Content-Length", strconv.FormatInt(size, 10)) - if !c.IsHead() { io.CopyN(c.httpWriter, dstream, size) } } else { + + c.SetResponseCode(fasthttp.StatusOK) + if !c.IsHead() { c.SetResponseHeader("Transfer-Encoding", "chunked") io.Copy(c.httpWriter, dstream)