aboutsummaryrefslogtreecommitdiff
path: root/src/net/http
diff options
context:
space:
mode:
authorapocelipes <seve3r@outlook.com>2025-02-05 00:37:18 +0000
committerGopher Robot <gobot@golang.org>2025-02-04 17:20:47 -0800
commita1ea78c470d3136b7aed42a4d8b94497563f98ea (patch)
treeeeff0948e18d8ac6087b9120f0be65ab64fd13af /src/net/http
parent0e35fb2f99ce4c249c0a42ad93a597835ae742b5 (diff)
downloadgo-a1ea78c470d3136b7aed42a4d8b94497563f98ea.tar.xz
net: use strings.SplitSeq and bytes.SplitSeq
Replace `for _, s := range {strings, bytes}.Split(v, sep)` with `for s := range {strings, bytes}.SplitSeq(v, sep)`, to simplify the code and reduce some memory allocations. Change-Id: Idead4de1e3928fc75cc5ba8caeff85542f1243d5 GitHub-Last-Rev: 5fb196a073e7583b23b1ebb446d6c067580ed63a GitHub-Pull-Request: golang/go#71554 Reviewed-on: https://go-review.googlesource.com/c/go/+/646216 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/net/http')
-rw-r--r--src/net/http/fs.go2
-rw-r--r--src/net/http/httptest/recorder.go2
-rw-r--r--src/net/http/httputil/reverseproxy.go2
-rw-r--r--src/net/http/httputil/reverseproxy_test.go2
-rw-r--r--src/net/http/main_test.go2
-rw-r--r--src/net/http/server.go2
6 files changed, 6 insertions, 6 deletions
diff --git a/src/net/http/fs.go b/src/net/http/fs.go
index e990f196d6..48ba05a664 100644
--- a/src/net/http/fs.go
+++ b/src/net/http/fs.go
@@ -1014,7 +1014,7 @@ func parseRange(s string, size int64) ([]httpRange, error) {
}
var ranges []httpRange
noOverlap := false
- for _, ra := range strings.Split(s[len(b):], ",") {
+ for ra := range strings.SplitSeq(s[len(b):], ",") {
ra = textproto.TrimString(ra)
if ra == "" {
continue
diff --git a/src/net/http/httptest/recorder.go b/src/net/http/httptest/recorder.go
index dd51901b0d..17aa70f067 100644
--- a/src/net/http/httptest/recorder.go
+++ b/src/net/http/httptest/recorder.go
@@ -207,7 +207,7 @@ func (rw *ResponseRecorder) Result() *http.Response {
if trailers, ok := rw.snapHeader["Trailer"]; ok {
res.Trailer = make(http.Header, len(trailers))
for _, k := range trailers {
- for _, k := range strings.Split(k, ",") {
+ for k := range strings.SplitSeq(k, ",") {
k = http.CanonicalHeaderKey(textproto.TrimString(k))
if !httpguts.ValidTrailerHeader(k) {
// Ignore since forbidden by RFC 7230, section 4.1.2.
diff --git a/src/net/http/httputil/reverseproxy.go b/src/net/http/httputil/reverseproxy.go
index d64d2fc3a1..15e9684708 100644
--- a/src/net/http/httputil/reverseproxy.go
+++ b/src/net/http/httputil/reverseproxy.go
@@ -577,7 +577,7 @@ func shouldPanicOnCopyError(req *http.Request) bool {
func removeHopByHopHeaders(h http.Header) {
// RFC 7230, section 6.1: Remove headers listed in the "Connection" header.
for _, f := range h["Connection"] {
- for _, sf := range strings.Split(f, ",") {
+ for sf := range strings.SplitSeq(f, ",") {
if sf = textproto.TrimString(sf); sf != "" {
h.Del(sf)
}
diff --git a/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go
index 2f9a5eec5c..c618f6f19e 100644
--- a/src/net/http/httputil/reverseproxy_test.go
+++ b/src/net/http/httputil/reverseproxy_test.go
@@ -197,7 +197,7 @@ func TestReverseProxyStripHeadersPresentInConnection(t *testing.T) {
c := r.Header["Connection"]
var cf []string
for _, f := range c {
- for _, sf := range strings.Split(f, ",") {
+ for sf := range strings.SplitSeq(f, ",") {
if sf = strings.TrimSpace(sf); sf != "" {
cf = append(cf, sf)
}
diff --git a/src/net/http/main_test.go b/src/net/http/main_test.go
index 4c18320717..0c58a94f20 100644
--- a/src/net/http/main_test.go
+++ b/src/net/http/main_test.go
@@ -31,7 +31,7 @@ func TestMain(m *testing.M) {
func interestingGoroutines() (gs []string) {
buf := make([]byte, 2<<20)
buf = buf[:runtime.Stack(buf, true)]
- for _, g := range strings.Split(string(buf), "\n\n") {
+ for g := range strings.SplitSeq(string(buf), "\n\n") {
_, stack, _ := strings.Cut(g, "\n")
stack = strings.TrimSpace(stack)
if stack == "" ||
diff --git a/src/net/http/server.go b/src/net/http/server.go
index 1e8e1437d2..cbdc9dd0e3 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -1590,7 +1590,7 @@ func foreachHeaderElement(v string, fn func(string)) {
fn(v)
return
}
- for _, f := range strings.Split(v, ",") {
+ for f := range strings.SplitSeq(v, ",") {
if f = textproto.TrimString(f); f != "" {
fn(f)
}