diff options
| author | Ian Lance Taylor <iant@golang.org> | 2024-05-22 13:38:40 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-05-23 01:00:11 +0000 |
| commit | b0b1d42db32a992150dd26681d3bda222e108303 (patch) | |
| tree | f520827bed796e2b0edc4cd91b2ac6dce89c718b /src/net/http | |
| parent | 1849ce6a45640ec4a6e63138211eac4276473437 (diff) | |
| download | go-b0b1d42db32a992150dd26681d3bda222e108303.tar.xz | |
all: change from sort functions to slices functions where feasible
Doing this because the slices functions are slightly faster and
slightly easier to use. It also removes one dependency layer.
This CL does not change packages that are used during bootstrap,
as the bootstrap compiler does not have the required slices functions.
It does not change the go/scanner package because the ErrorList
Len, Swap, and Less methods are part of the Go 1 API.
Change-Id: If52899be791c829198e11d2408727720b91ebe8a
Reviewed-on: https://go-review.googlesource.com/c/go/+/587655
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Commit-Queue: Ian Lance Taylor <iant@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Diffstat (limited to 'src/net/http')
| -rw-r--r-- | src/net/http/cgi/cgi_main.go | 6 | ||||
| -rw-r--r-- | src/net/http/clientserver_test.go | 4 | ||||
| -rw-r--r-- | src/net/http/cookiejar/jar.go | 16 | ||||
| -rw-r--r-- | src/net/http/cookiejar/jar_test.go | 4 | ||||
| -rw-r--r-- | src/net/http/httputil/reverseproxy_test.go | 6 |
5 files changed, 18 insertions, 18 deletions
diff --git a/src/net/http/cgi/cgi_main.go b/src/net/http/cgi/cgi_main.go index 8997d66a11..033036d07f 100644 --- a/src/net/http/cgi/cgi_main.go +++ b/src/net/http/cgi/cgi_main.go @@ -10,7 +10,7 @@ import ( "net/http" "os" "path" - "sort" + "slices" "strings" "time" ) @@ -67,7 +67,7 @@ func testCGI() { for k := range params { keys = append(keys, k) } - sort.Strings(keys) + slices.Sort(keys) for _, key := range keys { fmt.Printf("param-%s=%s\r\n", key, params.Get(key)) } @@ -77,7 +77,7 @@ func testCGI() { for k := range envs { keys = append(keys, k) } - sort.Strings(keys) + slices.Sort(keys) for _, key := range keys { fmt.Printf("env-%s=%s\r\n", key, envs[key]) } diff --git a/src/net/http/clientserver_test.go b/src/net/http/clientserver_test.go index 1fe4eed3f7..3dc440dde1 100644 --- a/src/net/http/clientserver_test.go +++ b/src/net/http/clientserver_test.go @@ -27,7 +27,7 @@ import ( "os" "reflect" "runtime" - "sort" + "slices" "strings" "sync" "sync/atomic" @@ -693,7 +693,7 @@ func testTrailersClientToServer(t *testing.T, mode testMode) { for k := range r.Trailer { decl = append(decl, k) } - sort.Strings(decl) + slices.Sort(decl) slurp, err := io.ReadAll(r.Body) if err != nil { diff --git a/src/net/http/cookiejar/jar.go b/src/net/http/cookiejar/jar.go index b09dea2d44..2eec1a3e74 100644 --- a/src/net/http/cookiejar/jar.go +++ b/src/net/http/cookiejar/jar.go @@ -6,13 +6,14 @@ package cookiejar import ( + "cmp" "errors" "fmt" "net" "net/http" "net/http/internal/ascii" "net/url" - "sort" + "slices" "strings" "sync" "time" @@ -210,15 +211,14 @@ func (j *Jar) cookies(u *url.URL, now time.Time) (cookies []*http.Cookie) { // sort according to RFC 6265 section 5.4 point 2: by longest // path and then by earliest creation time. - sort.Slice(selected, func(i, j int) bool { - s := selected - if len(s[i].Path) != len(s[j].Path) { - return len(s[i].Path) > len(s[j].Path) + slices.SortFunc(selected, func(a, b entry) int { + if r := cmp.Compare(b.Path, a.Path); r != 0 { + return r } - if ret := s[i].Creation.Compare(s[j].Creation); ret != 0 { - return ret < 0 + if r := a.Creation.Compare(b.Creation); r != 0 { + return r } - return s[i].seqNum < s[j].seqNum + return cmp.Compare(a.seqNum, b.seqNum) }) for _, e := range selected { cookies = append(cookies, &http.Cookie{Name: e.Name, Value: e.Value, Quoted: e.Quoted}) diff --git a/src/net/http/cookiejar/jar_test.go b/src/net/http/cookiejar/jar_test.go index 93b351889f..509560170a 100644 --- a/src/net/http/cookiejar/jar_test.go +++ b/src/net/http/cookiejar/jar_test.go @@ -8,7 +8,7 @@ import ( "fmt" "net/http" "net/url" - "sort" + "slices" "strings" "testing" "time" @@ -412,7 +412,7 @@ func (test jarTest) run(t *testing.T, jar *Jar) { cs = append(cs, cookie.Name+"="+v) } } - sort.Strings(cs) + slices.Sort(cs) got := strings.Join(cs, " ") // Make sure jar content matches our expectations. diff --git a/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go index 1bd64e65ba..eac8b7ec81 100644 --- a/src/net/http/httputil/reverseproxy_test.go +++ b/src/net/http/httputil/reverseproxy_test.go @@ -22,7 +22,7 @@ import ( "net/url" "os" "reflect" - "sort" + "slices" "strconv" "strings" "sync" @@ -202,9 +202,9 @@ func TestReverseProxyStripHeadersPresentInConnection(t *testing.T) { } } } - sort.Strings(cf) + slices.Sort(cf) expectedValues := []string{"Upgrade", someConnHeader, fakeConnectionToken} - sort.Strings(expectedValues) + slices.Sort(expectedValues) if !reflect.DeepEqual(cf, expectedValues) { t.Errorf("handler modified header %q = %q; want %q", "Connection", cf, expectedValues) } |
