Improved performance

This commit is contained in:
Eduard Urbach 2024-03-28 15:19:46 +01:00
parent adb1d0beb2
commit 5d087230a9
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0
2 changed files with 10 additions and 16 deletions

View File

@ -2,7 +2,6 @@ package web
import ( import (
"io" "io"
"strings"
) )
// Response is the interface for an HTTP response. // Response is the interface for an HTTP response.
@ -78,17 +77,3 @@ func (res *response) WriteString(body string) (int, error) {
res.body = append(res.body, body...) res.body = append(res.body, body...)
return len(body), nil return len(body), nil
} }
// headerText combines all HTTP headers into a single string.
func (res *response) headerText() string {
combined := strings.Builder{}
for _, header := range res.headers {
combined.WriteString(header.Key)
combined.WriteString(": ")
combined.WriteString(header.Value)
combined.WriteString("\r\n")
}
return combined.String()
}

View File

@ -216,7 +216,16 @@ func (s *server) handleRequest(ctx *context, method string, url string, writer i
tmp.WriteString(strconv.Itoa(int(ctx.status))) tmp.WriteString(strconv.Itoa(int(ctx.status)))
tmp.WriteString("\r\nContent-Length: ") tmp.WriteString("\r\nContent-Length: ")
tmp.WriteString(strconv.Itoa(len(ctx.response.body))) tmp.WriteString(strconv.Itoa(len(ctx.response.body)))
tmp.WriteString("\r\n\r\n") tmp.WriteString("\r\n")
for _, header := range ctx.response.headers {
tmp.WriteString(header.Key)
tmp.WriteString(": ")
tmp.WriteString(header.Value)
tmp.WriteString("\r\n")
}
tmp.WriteString("\r\n")
tmp.Write(ctx.response.body) tmp.Write(ctx.response.body)
writer.Write(tmp.Bytes()) writer.Write(tmp.Bytes())
} }