// ProxyGet returns a response of the service by calling it through the proxy. func (c *services) ProxyGet(scheme, name, port, path string, params map[string]string) rest.ResponseWrapper { request := c.client.Get(). Prefix("proxy"). Namespace(c.ns). Resource("services"). Name(net.JoinSchemeNamePort(scheme, name, port)). Suffix(path) for k, v := range params { request = request.Param(k, v) } return request }
InitialDelaySeconds: 1, TimeoutSeconds: 5, PeriodSeconds: 10, }, Labels: labels, CreatedPods: &pods, } Expect(framework.RunRC(cfg)).NotTo(HaveOccurred()) defer framework.DeleteRCAndPods(f.ClientSet, f.InternalClientset, f.Namespace.Name, cfg.Name) Expect(f.WaitForAnEndpoint(service.Name)).NotTo(HaveOccurred()) // table constructors // Try proxying through the service and directly to through the pod. svcProxyURL := func(scheme, port string) string { return prefix + "/proxy/namespaces/" + f.Namespace.Name + "/services/" + net.JoinSchemeNamePort(scheme, service.Name, port) } subresourceServiceProxyURL := func(scheme, port string) string { return prefix + "/namespaces/" + f.Namespace.Name + "/services/" + net.JoinSchemeNamePort(scheme, service.Name, port) + "/proxy" } podProxyURL := func(scheme, port string) string { return prefix + "/proxy/namespaces/" + f.Namespace.Name + "/pods/" + net.JoinSchemeNamePort(scheme, pods[0].Name, port) } subresourcePodProxyURL := func(scheme, port string) string { return prefix + "/namespaces/" + f.Namespace.Name + "/pods/" + net.JoinSchemeNamePort(scheme, pods[0].Name, port) + "/proxy" } // construct the table expectations := map[string]string{ svcProxyURL("", "portname1") + "/": "foo", svcProxyURL("", "80") + "/": "foo",