Skip to content

Commit c686932

Browse files
committed
apiserver: fix the query param in proxy requests
Signed-off-by: scydas <[email protected]>
1 parent 7af8145 commit c686932

File tree

1 file changed

+7
-11
lines changed
  • pkg/kubeapiserver/resourcerest/proxy

1 file changed

+7
-11
lines changed

pkg/kubeapiserver/resourcerest/proxy/proxy.go

+7-11
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
apierrors "k8s.io/apimachinery/pkg/api/errors"
99
"k8s.io/apimachinery/pkg/runtime"
1010
"k8s.io/apimachinery/pkg/runtime/schema"
11-
utilnet "k8s.io/apimachinery/pkg/util/net"
1211
"k8s.io/apimachinery/pkg/util/proxy"
1312
auditinternal "k8s.io/apiserver/pkg/apis/audit"
1413
"k8s.io/apiserver/pkg/audit"
@@ -62,27 +61,24 @@ func proxyConn(ctx context.Context, connGetter ClusterConnectionGetter, upgradeR
6261
return
6362
}
6463

65-
// First get URL Query from context.Context
66-
if query := request.RequestQueryFrom(ctx); query != nil {
67-
target.RawQuery = query.Encode()
68-
} else {
69-
target.RawQuery = req.URL.RawQuery
70-
}
71-
7264
proxy := proxy.NewUpgradeAwareHandler(target, transport, false, upgradeRequired, responder)
7365
proxy.UseLocationHost = true
7466

7567
var handler http.Handler = proxy
7668
if wrapProxy != nil {
7769
handler = wrapProxy(proxy)
7870
}
79-
r := req.WithContext(req.Context())
80-
r.Header = utilnet.CloneHeader(req.Header)
71+
72+
r := req.Clone(req.Context())
8173
if auditID, _ := audit.AuditIDFrom(ctx); auditID != "" {
8274
req.Header.Set(auditinternal.HeaderAuditID, string(auditID))
8375
}
76+
// get URL Query from context.Context
77+
if query := request.RequestQueryFrom(ctx); query != nil {
78+
r.URL.RawQuery = query.Encode()
79+
}
8480

85-
handler.ServeHTTP(rw, req)
81+
handler.ServeHTTP(rw, r)
8682

8783
// merge headers
8884
for _, header := range []string{"Cache-Control", auditinternal.HeaderAuditID} {

0 commit comments

Comments
 (0)