Flush: logOpts.Follow, }, nil } // NewGetOptions creates a new options object func (r *LogREST) NewGetOptions() (runtime.Object, bool, string) { return &api.PodLogOptions{}, false, "" } // ProxyREST implements the proxy subresource for a Pod type ProxyREST struct { store *etcdgeneric.Etcd } // Implement Connecter var _ = rest.Connecter(&ProxyREST{}) var proxyMethods = []string{"GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"} // New returns an empty pod resource func (r *ProxyREST) New() runtime.Object { return &api.Pod{} } // ConnectMethods returns the list of HTTP methods that can be proxied func (r *ProxyREST) ConnectMethods() []string { return proxyMethods } // NewConnectOptions returns versioned resource that represents proxy parameters func (r *ProxyREST) NewConnectOptions() (runtime.Object, bool, string) {
// Make a copy so the internal URL never gets mutated locationCopy := *storage.resourceLocation return &locationCopy, nil, nil } // Implement Connecter type ConnecterRESTStorage struct { connectHandler rest.ConnectHandler emptyConnectOptions runtime.Object receivedConnectOptions runtime.Object receivedID string takesPath string } // Implement Connecter var _ = rest.Connecter(&ConnecterRESTStorage{}) func (s *ConnecterRESTStorage) New() runtime.Object { return &Simple{} } func (s *ConnecterRESTStorage) Connect(ctx api.Context, id string, options runtime.Object) (rest.ConnectHandler, error) { s.receivedConnectOptions = options s.receivedID = id return s.connectHandler, nil } func (s *ConnecterRESTStorage) ConnectMethods() []string { return []string{"GET", "POST", "PUT", "DELETE"} }