Gerrit Bot has uploaded this change for review.
net/http: expose "http: server gave HTTP response to HTTPS client" error
Expose "http: server gave HTTP response to HTTPS client" error as `ErrSchemeMismatch`, so that it can be compared with `errors.Is` .
Fixes #44855
Change-Id: If96e0d000fdef641fea407310faf9e1c4f7ad0f0
GitHub-Last-Rev: 00c8e8897fe290829670a36ccabeda8bd4642c28
GitHub-Pull-Request: golang/go#50939
---
M src/net/http/client.go
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/net/http/client.go b/src/net/http/client.go
index 22db96b..ec8bf52 100644
--- a/src/net/http/client.go
+++ b/src/net/http/client.go
@@ -199,6 +199,9 @@
return DefaultTransport
}
+// ErrSchemeMismatch is returned when server gave HTTP response to HTTPS client.
+var ErrSchemeMismatch = errors.New("http: server gave HTTP response to HTTPS client")
+
// send issues an HTTP request.
// Caller should close resp.Body when done reading from it.
func send(ireq *Request, rt RoundTripper, deadline time.Time) (resp *Response, didTimeout func() bool, err error) {
@@ -260,7 +263,7 @@
// response looks like HTTP and give a more helpful error.
// See golang.org/issue/11111.
if string(tlsErr.RecordHeader[:]) == "HTTP/" {
- err = errors.New("http: server gave HTTP response to HTTPS client")
+ err = ErrSchemeMismatch
}
}
return nil, didTimeout, err
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Congratulations on opening your first change. Thank you for your contribution!
Next steps:
A maintainer will review your change and provide feedback. See
https://golang.org/doc/contribute.html#review for more info and tips to get your
patch through code review.
Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.
During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11 or adds a tag like "wait-release", it means that this CL will be
reviewed as part of the next development cycle. See https://golang.org/s/release
for more details.
Attention is currently required from: Brad Fitzpatrick.
Patch set 1:Run-TryBot +1Code-Review +1Trust +1
1 comment:
File src/net/http/client.go:
Patch Set #1, Line 202: // ErrSchemeMismatch is returned when server gave HTTP response to HTTPS client.
ErrSchemeMismatch is returned when a server returns an HTTP response to an HTTPS client.
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Damien Neil.
Gerrit Bot uploaded patch set #2 to this change.
The following approvals got outdated and were removed: Run-TryBot+1 by Damien Neil, Trust+1 by Damien Neil, TryBot-Result-1 by Gopher Robot
net/http: expose "http: server gave HTTP response to HTTPS client" error
Expose "http: server gave HTTP response to HTTPS client" error as `ErrSchemeMismatch`, so that it can be compared with `errors.Is` .
Fixes #44855
Change-Id: If96e0d000fdef641fea407310faf9e1c4f7ad0f0
GitHub-Last-Rev: 6d63ac48770915708b6b3e90b256f2028d145028
GitHub-Pull-Request: golang/go#50939
---
M src/net/http/client.go
1 file changed, 19 insertions(+), 1 deletion(-)
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Damien Neil.
1 comment:
File src/net/http/client.go:
Patch Set #1, Line 202: // ErrSchemeMismatch is returned when server gave HTTP response to HTTPS client.
ErrSchemeMismatch is returned when a server returns an HTTP response to an HTTPS client.
Done
(Sorry, didn't notice your reply for a year 🤦)
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick.
Patch set 2:Code-Review +1
1 comment:
Patchset:
As a change to the exported API of net/http, this needs an accepted proposal to proceed. I've tagged https://go.dev/issue/44855 as a proposal.
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick.
Patch set 3:Run-TryBot +1Code-Review +1
Attention is currently required from: Brad Fitzpatrick.
Patch set 3:Code-Review +2
Attention is currently required from: Brad Fitzpatrick.
1 comment:
Patchset:
Build is still in progress... Status page: https://farmer.golang.org/try?commit=7199e9ff […]
This needs a file in `api/next/44855.txt`, containing:
```
pkg net/http, var ErrSchemeMismatch error #44855
```
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Damien Neil.
Gerrit Bot uploaded patch set #4 to this change.
The following approvals got outdated and were removed: Run-TryBot+1 by Damien Neil, TryBot-Result-1 by Gopher Robot
net/http: expose "http: server gave HTTP response to HTTPS client" error
Expose "http: server gave HTTP response to HTTPS client" error as `ErrSchemeMismatch`, so that it can be compared with `errors.Is` .
Fixes #44855
Change-Id: If96e0d000fdef641fea407310faf9e1c4f7ad0f0
GitHub-Last-Rev: 22879fc88367d77817d7d96c9164f22e55f3a192
GitHub-Pull-Request: golang/go#50939
---
A api/next/44855.txt
M src/net/http/client.go
2 files changed, 5 insertions(+), 1 deletion(-)
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Damien Neil.
1 comment:
Patchset:
1 of 44 TryBots failed. […]
Done
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick.
Patch set 4:Run-TryBot +1Auto-Submit +1Code-Review +2
Attention is currently required from: Brad Fitzpatrick.
Patch set 4:Code-Review +1
Gopher Robot submitted this change.
net/http: expose "http: server gave HTTP response to HTTPS client" error
Expose "http: server gave HTTP response to HTTPS client" error as `ErrSchemeMismatch`, so that it can be compared with `errors.Is` .
Fixes #44855
Change-Id: If96e0d000fdef641fea407310faf9e1c4f7ad0f0
GitHub-Last-Rev: 22879fc88367d77817d7d96c9164f22e55f3a192
GitHub-Pull-Request: golang/go#50939
Reviewed-on: https://go-review.googlesource.com/c/go/+/382117
Run-TryBot: Damien Neil <dn...@google.com>
Auto-Submit: Damien Neil <dn...@google.com>
Reviewed-by: Damien Neil <dn...@google.com>
TryBot-Result: Gopher Robot <go...@golang.org>
Reviewed-by: Michael Knyszek <mkny...@google.com>
---
A api/next/44855.txt
M src/net/http/client.go
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/api/next/44855.txt b/api/next/44855.txt
new file mode 100644
index 0000000..89a3ff5
--- /dev/null
+++ b/api/next/44855.txt
@@ -0,0 +1 @@
+pkg net/http, var ErrSchemeMismatch error #44855
diff --git a/src/net/http/client.go b/src/net/http/client.go
index 1e300ac..2cab53a 100644
--- a/src/net/http/client.go
+++ b/src/net/http/client.go
@@ -204,6 +204,9 @@
return DefaultTransport
}
+// ErrSchemeMismatch is returned when a server returns an HTTP response to an HTTPS client.
+var ErrSchemeMismatch = errors.New("http: server gave HTTP response to HTTPS client")
+
// send issues an HTTP request.
// Caller should close resp.Body when done reading from it.
func send(ireq *Request, rt RoundTripper, deadline time.Time) (resp *Response, didTimeout func() bool, err error) {
@@ -265,7 +268,7 @@
// response looks like HTTP and give a more helpful error.
// See golang.org/issue/11111.
if string(tlsErr.RecordHeader[:]) == "HTTP/" {
- err = errors.New("http: server gave HTTP response to HTTPS client")
+ err = ErrSchemeMismatch
}
}
return nil, didTimeout, err
To view, visit change 382117. To unsubscribe, or for help writing mail filters, visit settings.