Support both GET and POST methods for /exec and /portforward

This commit is contained in:
nikhiljindal
2015-06-29 16:01:01 -07:00
parent 5bd928fed0
commit e0d48d4983
5 changed files with 133 additions and 2 deletions

View File

@@ -283,7 +283,8 @@ func (r *ProxyREST) Connect(ctx api.Context, id string, opts runtime.Object) (re
return genericrest.NewUpgradeAwareProxyHandler(location, nil, false), nil
}
var upgradeableMethods = []string{"GET"}
// Support both GET and POST methods. Over time, we want to move all clients to start using POST and then stop supporting GET.
var upgradeableMethods = []string{"GET", "POST"}
// ExecREST implements the exec subresource for a Pod
type ExecREST struct {

View File

@@ -249,7 +249,7 @@ func ExecLocation(getter ResourceGetter, connInfo client.ConnectionInfoGetter, c
nodeHost := pod.Spec.NodeName
if len(nodeHost) == 0 {
// If pod has not been assigned a host, return an empty location
return nil, nil, fmt.Errorf("pod %s does not have a host assigned", name)
return nil, nil, errors.NewBadRequest(fmt.Sprintf("pod %s does not have a host assigned", name))
}
nodeScheme, nodePort, nodeTransport, err := connInfo.GetConnectionInfo(nodeHost)
if err != nil {