mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 23:15:14 +00:00
fix invalid status code for hijacker
When using hijacker to take over the connection, the http status code should be 101 not 200. PS: Use "kubectl exec" as an example to review this change.
This commit is contained in:
parent
b8c9ee8abb
commit
541935b13f
@ -183,7 +183,7 @@ func (a *auditResponseWriter) processCode(code int) {
|
||||
}
|
||||
|
||||
func (a *auditResponseWriter) Write(bs []byte) (int, error) {
|
||||
a.processCode(200) // the Go library calls WriteHeader internally if no code was written yet. But this will go unnoticed for us
|
||||
a.processCode(http.StatusOK) // the Go library calls WriteHeader internally if no code was written yet. But this will go unnoticed for us
|
||||
return a.ResponseWriter.Write(bs)
|
||||
}
|
||||
|
||||
@ -208,6 +208,8 @@ func (f *fancyResponseWriterDelegator) Flush() {
|
||||
}
|
||||
|
||||
func (f *fancyResponseWriterDelegator) Hijack() (net.Conn, *bufio.ReadWriter, error) {
|
||||
// fake a response status before protocol switch happens
|
||||
f.processCode(http.StatusSwitchingProtocols)
|
||||
return f.ResponseWriter.(http.Hijacker).Hijack()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user