Documentation ¶
Overview ¶
Package handlers contains HTTP handlers to implement the apiserver APIs.
Index ¶
- Constants
- func ConnectResource(connecter rest.Connecter, scope RequestScope, admit admission.Interface, ...) http.HandlerFunc
- func CreateNamedResource(r rest.NamedCreater, scope RequestScope, typer runtime.ObjectTyper, ...) http.HandlerFunc
- func CreateResource(r rest.Creater, scope RequestScope, typer runtime.ObjectTyper, ...) http.HandlerFunc
- func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope RequestScope, ...) http.HandlerFunc
- func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope RequestScope, ...) http.HandlerFunc
- func GetResource(r rest.Getter, e rest.Exporter, scope RequestScope) http.HandlerFunc
- func GetResourceWithOptions(r rest.GetterWithOptions, scope RequestScope, isSubresource bool) http.HandlerFunc
- func ListResource(r rest.Lister, rw rest.Watcher, scope RequestScope, forceWatch bool, ...) http.HandlerFunc
- func PatchResource(r rest.Patcher, scope RequestScope, admit admission.Interface, ...) http.HandlerFunc
- func UpdateResource(r rest.Updater, scope RequestScope, typer runtime.ObjectTyper, ...) http.HandlerFunc
- type ContextBasedNaming
- func (n ContextBasedNaming) GenerateLink(requestInfo *request.RequestInfo, obj runtime.Object) (uri string, err error)
- func (n ContextBasedNaming) GenerateListLink(req *http.Request) (uri string, err error)
- func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err error)
- func (n ContextBasedNaming) Namespace(req *http.Request) (namespace string, err error)
- func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error)
- func (n ContextBasedNaming) SetSelfLink(obj runtime.Object, url string) error
- type ContextFunc
- type ProxyHandler
- type RequestScope
- type ScopeNamer
- type TimeoutFactory
- type WatchServer
Constants ¶
const MaxRetryWhenPatchConflicts = 5
MaxRetryWhenPatchConflicts is the maximum number of conflicts retry during a patch operation before returning failure
Variables ¶
This section is empty.
Functions ¶
func ConnectResource ¶
func ConnectResource(connecter rest.Connecter, scope RequestScope, admit admission.Interface, restPath string, isSubresource bool) http.HandlerFunc
ConnectResource returns a function that handles a connect request on a rest.Storage object.
func CreateNamedResource ¶
func CreateNamedResource(r rest.NamedCreater, scope RequestScope, typer runtime.ObjectTyper, admission admission.Interface) http.HandlerFunc
CreateNamedResource returns a function that will handle a resource creation with name.
func CreateResource ¶
func CreateResource(r rest.Creater, scope RequestScope, typer runtime.ObjectTyper, admission admission.Interface) http.HandlerFunc
CreateResource returns a function that will handle a resource creation.
func DeleteCollection ¶
func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope RequestScope, admit admission.Interface) http.HandlerFunc
DeleteCollection returns a function that will handle a collection deletion
func DeleteResource ¶
func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope RequestScope, admit admission.Interface) http.HandlerFunc
DeleteResource returns a function that will handle a resource deletion TODO admission here becomes solely validating admission
func GetResource ¶
func GetResource(r rest.Getter, e rest.Exporter, scope RequestScope) http.HandlerFunc
GetResource returns a function that handles retrieving a single resource from a rest.Storage object.
func GetResourceWithOptions ¶
func GetResourceWithOptions(r rest.GetterWithOptions, scope RequestScope, isSubresource bool) http.HandlerFunc
GetResourceWithOptions returns a function that handles retrieving a single resource from a rest.Storage object.
func ListResource ¶
func ListResource(r rest.Lister, rw rest.Watcher, scope RequestScope, forceWatch bool, minRequestTimeout time.Duration) http.HandlerFunc
func PatchResource ¶
func PatchResource(r rest.Patcher, scope RequestScope, admit admission.Interface, converter runtime.ObjectConvertor) http.HandlerFunc
PatchResource returns a function that will handle a resource patch TODO: Eventually PatchResource should just use GuaranteedUpdate and this routine should be a bit cleaner
func UpdateResource ¶
func UpdateResource(r rest.Updater, scope RequestScope, typer runtime.ObjectTyper, admit admission.Interface) http.HandlerFunc
UpdateResource returns a function that will handle a resource update
Types ¶
type ContextBasedNaming ¶
type ContextBasedNaming struct { GetContext ContextFunc SelfLinker runtime.SelfLinker ClusterScoped bool SelfLinkPathPrefix string SelfLinkPathSuffix string }
func (ContextBasedNaming) GenerateLink ¶
func (n ContextBasedNaming) GenerateLink(requestInfo *request.RequestInfo, obj runtime.Object) (uri string, err error)
func (ContextBasedNaming) GenerateListLink ¶
func (n ContextBasedNaming) GenerateListLink(req *http.Request) (uri string, err error)
func (ContextBasedNaming) Name ¶
func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err error)
func (ContextBasedNaming) Namespace ¶
func (n ContextBasedNaming) Namespace(req *http.Request) (namespace string, err error)
func (ContextBasedNaming) ObjectName ¶
func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error)
func (ContextBasedNaming) SetSelfLink ¶
func (n ContextBasedNaming) SetSelfLink(obj runtime.Object, url string) error
type ContextFunc ¶
ContextFunc returns a Context given a request - a context must be returned
type ProxyHandler ¶
type ProxyHandler struct { Prefix string Storage map[string]rest.Storage Serializer runtime.NegotiatedSerializer Mapper request.RequestContextMapper }
ProxyHandler provides a http.Handler which will proxy traffic to locations specified by items implementing Redirector.
func (*ProxyHandler) ServeHTTP ¶
func (r *ProxyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request)
type RequestScope ¶
type RequestScope struct { Namer ScopeNamer ContextFunc Serializer runtime.NegotiatedSerializer runtime.ParameterCodec Creater runtime.ObjectCreater Convertor runtime.ObjectConvertor Defaulter runtime.ObjectDefaulter Typer runtime.ObjectTyper UnsafeConvertor runtime.ObjectConvertor TableConvertor rest.TableConvertor Resource schema.GroupVersionResource Kind schema.GroupVersionKind Subresource string MetaGroupVersion schema.GroupVersion }
RequestScope encapsulates common fields across all RESTful handler methods.
func (*RequestScope) AllowsConversion ¶
func (scope *RequestScope) AllowsConversion(gvk schema.GroupVersionKind) bool
func (*RequestScope) AllowsServerVersion ¶
func (scope *RequestScope) AllowsServerVersion(version string) bool
func (*RequestScope) AllowsStreamSchema ¶
func (scope *RequestScope) AllowsStreamSchema(s string) bool
type ScopeNamer ¶
type ScopeNamer interface { // Namespace returns the appropriate namespace value from the request (may be empty) or an // error. Namespace(req *http.Request) (namespace string, err error) // Name returns the name from the request, and an optional namespace value if this is a namespace // scoped call. An error is returned if the name is not available. Name(req *http.Request) (namespace, name string, err error) // ObjectName returns the namespace and name from an object if they exist, or an error if the object // does not support names. ObjectName(obj runtime.Object) (namespace, name string, err error) // SetSelfLink sets the provided URL onto the object. The method should return nil if the object // does not support selfLinks. SetSelfLink(obj runtime.Object, url string) error // GenerateLink creates an encoded URI for a given runtime object that represents the canonical path // and query. GenerateLink(requestInfo *request.RequestInfo, obj runtime.Object) (uri string, err error) // GenerateListLink creates an encoded URI for a list that represents the canonical path and query. GenerateListLink(req *http.Request) (uri string, err error) }
ScopeNamer handles accessing names from requests and objects
type TimeoutFactory ¶
timeoutFactory abstracts watch timeout logic for testing
type WatchServer ¶
type WatchServer struct { Watching watch.Interface Scope RequestScope // true if websocket messages should use text framing (as opposed to binary framing) UseTextFraming bool // the media type this watch is being served with MediaType string // used to frame the watch stream Framer runtime.Framer // used to encode the watch stream event itself Encoder runtime.Encoder // used to encode the nested object in the watch stream EmbeddedEncoder runtime.Encoder Fixup func(runtime.Object) TimeoutFactory TimeoutFactory }
WatchServer serves a watch.Interface over a websocket or vanilla HTTP.
func (*WatchServer) HandleWS ¶
func (s *WatchServer) HandleWS(ws *websocket.Conn)
HandleWS implements a websocket handler.
func (*WatchServer) ServeHTTP ¶
func (s *WatchServer) ServeHTTP(w http.ResponseWriter, req *http.Request)
ServeHTTP serves a series of encoded events via HTTP with Transfer-Encoding: chunked or over a websocket connection.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package negotation contains media type negotiation logic.
|
Package negotation contains media type negotiation logic. |
Package responsewriters containers helpers to write responses in HTTP handlers.
|
Package responsewriters containers helpers to write responses in HTTP handlers. |