aboutsummaryrefslogtreecommitdiff
path: root/src/net/http
diff options
context:
space:
mode:
author1911860538 <alxps1911@gmail.com>2025-04-17 14:51:18 +0000
committerJorropo <jorropo.pgm@gmail.com>2025-04-22 13:10:32 -0700
commit83b53527fa738ac3364a5f7e4921f2e81f69584e (patch)
treedc56ff7484a4da50185f393138199f25d6d3ef8f /src/net/http
parent8a85a2e70a97773ac96e899df7411eda4f5da2cb (diff)
downloadgo-83b53527fa738ac3364a5f7e4921f2e81f69584e.tar.xz
net/http: replace map lookup with switch for scheme port
Improve scheme port lookup by replacing map with switch, reducing overhead and improving performance. Change-Id: I45c790da15e237d5f32c50d342b3713b98fd2ffa GitHub-Last-Rev: 4c02e4cabf181b365fbf2b722e3051625a289527 GitHub-Pull-Request: golang/go#73422 Reviewed-on: https://go-review.googlesource.com/c/go/+/666356 Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/net/http')
-rw-r--r--src/net/http/transport.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/net/http/transport.go b/src/net/http/transport.go
index 59a125cbc7..07b3a9e1e7 100644
--- a/src/net/http/transport.go
+++ b/src/net/http/transport.go
@@ -2931,11 +2931,17 @@ func (pc *persistConn) closeLocked(err error) {
pc.mutateHeaderFunc = nil
}
-var portMap = map[string]string{
- "http": "80",
- "https": "443",
- "socks5": "1080",
- "socks5h": "1080",
+func schemePort(scheme string) string {
+ switch scheme {
+ case "http":
+ return "80"
+ case "https":
+ return "443"
+ case "socks5", "socks5h":
+ return "1080"
+ default:
+ return ""
+ }
}
func idnaASCIIFromURL(url *url.URL) string {
@@ -2950,7 +2956,7 @@ func idnaASCIIFromURL(url *url.URL) string {
func canonicalAddr(url *url.URL) string {
port := url.Port()
if port == "" {
- port = portMap[url.Scheme]
+ port = schemePort(url.Scheme)
}
return net.JoinHostPort(idnaASCIIFromURL(url), port)
}