aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/server.go
diff options
context:
space:
mode:
authorTom Thorogood <me+google@tomthorogood.co.uk>2025-02-09 12:42:25 +1030
committerGopher Robot <gobot@golang.org>2025-02-10 12:28:00 -0800
commit6fd3ce52bbc628225e67f8811ff2f6db17a7bec6 (patch)
treef90251b273d83d25566ae6ddf722cac41de0b87b /src/net/http/server.go
parent8b8ab2584d52c96ed84207208f13a37272cab217 (diff)
downloadgo-6fd3ce52bbc628225e67f8811ff2f6db17a7bec6.tar.xz
net/http: use standard time formatting methods
time.Time has had an AppendFormat method since go1.5 so there's no need to carry around a custom implementation. Change-Id: I8e7e5a9ac34e8bf251f5d70555405777ce4e22a8 Reviewed-on: https://go-review.googlesource.com/c/go/+/647955 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/net/http/server.go')
-rw-r--r--src/net/http/server.go24
1 files changed, 1 insertions, 23 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go
index cbdc9dd0e3..439efa0c75 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -991,28 +991,6 @@ func (ecr *expectContinueReader) Close() error {
// For parsing this time format, see [ParseTime].
const TimeFormat = "Mon, 02 Jan 2006 15:04:05 GMT"
-// appendTime is a non-allocating version of []byte(t.UTC().Format(TimeFormat))
-func appendTime(b []byte, t time.Time) []byte {
- const days = "SunMonTueWedThuFriSat"
- const months = "JanFebMarAprMayJunJulAugSepOctNovDec"
-
- t = t.UTC()
- yy, mm, dd := t.Date()
- hh, mn, ss := t.Clock()
- day := days[3*t.Weekday():]
- mon := months[3*(mm-1):]
-
- return append(b,
- day[0], day[1], day[2], ',', ' ',
- byte('0'+dd/10), byte('0'+dd%10), ' ',
- mon[0], mon[1], mon[2], ' ',
- byte('0'+yy/1000), byte('0'+(yy/100)%10), byte('0'+(yy/10)%10), byte('0'+yy%10), ' ',
- byte('0'+hh/10), byte('0'+hh%10), ':',
- byte('0'+mn/10), byte('0'+mn%10), ':',
- byte('0'+ss/10), byte('0'+ss%10), ' ',
- 'G', 'M', 'T')
-}
-
var errTooLarge = errors.New("http: request too large")
// Read next request from connection.
@@ -1506,7 +1484,7 @@ func (cw *chunkWriter) writeHeader(p []byte) {
}
if !header.has("Date") {
- setHeader.date = appendTime(cw.res.dateBuf[:0], time.Now())
+ setHeader.date = time.Now().UTC().AppendFormat(cw.res.dateBuf[:0], TimeFormat)
}
if hasCL && hasTE && te != "identity" {