Documentation ¶
Overview ¶
Package handlers contains HTTP handlers to implement the apiserver APIs.
Index ¶
- func ConnectResource(connecter rest.Connecter, scope RequestScope, admit admission.Interface, ...) http.HandlerFunc
- func CreateNamedResource(r rest.NamedCreater, scope RequestScope, admission admission.Interface) http.HandlerFunc
- func CreateResource(r rest.Creater, scope RequestScope, admission admission.Interface) 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, admit admission.Interface) 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 RequestScope
- type ScopeNamer
- type TimeoutFactory
- type WatchServer
Constants ¶
This section is empty.
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, 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, 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, patchTypes []string) http.HandlerFunc
PatchResource returns a function that will handle a resource patch.
func UpdateResource ¶
func UpdateResource(r rest.Updater, scope RequestScope, admit admission.Interface) http.HandlerFunc
UpdateResource returns a function that will handle a resource update
Types ¶
type ContextBasedNaming ¶ added in v1.7.0
type ContextBasedNaming struct { SelfLinker runtime.SelfLinker ClusterScoped bool SelfLinkPathPrefix string SelfLinkPathSuffix string }
func (ContextBasedNaming) GenerateLink ¶ added in v1.7.0
func (n ContextBasedNaming) GenerateLink(requestInfo *request.RequestInfo, obj runtime.Object) (uri string, err error)
func (ContextBasedNaming) GenerateListLink ¶ added in v1.7.0
func (n ContextBasedNaming) GenerateListLink(req *http.Request) (uri string, err error)
func (ContextBasedNaming) Name ¶ added in v1.7.0
func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err error)
func (ContextBasedNaming) Namespace ¶ added in v1.7.0
func (n ContextBasedNaming) Namespace(req *http.Request) (namespace string, err error)
func (ContextBasedNaming) ObjectName ¶ added in v1.7.0
func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error)
func (ContextBasedNaming) SetSelfLink ¶ added in v1.7.0
func (n ContextBasedNaming) SetSelfLink(obj runtime.Object, url string) error
type RequestScope ¶
type RequestScope struct { Namer ScopeNamer Serializer runtime.NegotiatedSerializer runtime.ParameterCodec Creater runtime.ObjectCreater Convertor runtime.ObjectConvertor Defaulter runtime.ObjectDefaulter Typer runtime.ObjectTyper UnsafeConvertor runtime.ObjectConvertor Authorizer authorizer.Authorizer TableConvertor rest.TableConvertor OpenAPISchema openapiproto.Schema Resource schema.GroupVersionResource Kind schema.GroupVersionKind Subresource string MetaGroupVersion schema.GroupVersion MaxRequestBodyBytes int64 }
RequestScope encapsulates common fields across all RESTful handler methods.
func (*RequestScope) AllowsConversion ¶ added in v1.7.0
func (scope *RequestScope) AllowsConversion(gvk schema.GroupVersionKind) bool
func (*RequestScope) AllowsServerVersion ¶ added in v1.7.0
func (scope *RequestScope) AllowsServerVersion(version string) bool
func (*RequestScope) AllowsStreamSchema ¶ added in v1.7.0
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 negotiation contains media type negotiation logic.
|
Package negotiation 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. |