apiserver: k8s.io/apiserver/pkg/endpoints/handlers Index | Files | Directories

package handlers

import "k8s.io/apiserver/pkg/endpoints/handlers"

Package handlers contains HTTP handlers to implement the apiserver APIs.

Index

Package Files

create.go delete.go doc.go get.go helpers.go namer.go patch.go response.go rest.go update.go watch.go

func ConnectResource Uses

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 Uses

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 Uses

func CreateResource(r rest.Creater, scope *RequestScope, admission admission.Interface) http.HandlerFunc

CreateResource returns a function that will handle a resource creation.

func DeleteCollection Uses

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 Uses

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 Uses

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 Uses

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 Uses

func ListResource(r rest.Lister, rw rest.Watcher, scope *RequestScope, forceWatch bool, minRequestTimeout time.Duration) http.HandlerFunc

func PatchResource Uses

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 Uses

func UpdateResource(r rest.Updater, scope *RequestScope, admit admission.Interface) http.HandlerFunc

UpdateResource returns a function that will handle a resource update

type ContextBasedNaming Uses

type ContextBasedNaming struct {
    SelfLinker    runtime.SelfLinker
    ClusterScoped bool

    SelfLinkPathPrefix string
    SelfLinkPathSuffix string
}
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 (ContextBasedNaming) Name Uses

func (n ContextBasedNaming) Name(req *http.Request) (namespace, name string, err error)

func (ContextBasedNaming) Namespace Uses

func (n ContextBasedNaming) Namespace(req *http.Request) (namespace string, err error)

func (ContextBasedNaming) ObjectName Uses

func (n ContextBasedNaming) ObjectName(obj runtime.Object) (namespace, name string, err error)
func (n ContextBasedNaming) SetSelfLink(obj runtime.Object, url string) error

type RequestScope Uses

type RequestScope struct {
    Namer ScopeNamer

    Serializer runtime.NegotiatedSerializer
    runtime.ParameterCodec

    // StandardSerializers, if set, restricts which serializers can be used when
    // we aren't transforming the output (into Table or PartialObjectMetadata).
    // Used only by CRDs which do not yet support Protobuf.
    StandardSerializers []runtime.SerializerInfo

    Creater         runtime.ObjectCreater
    Convertor       runtime.ObjectConvertor
    Defaulter       runtime.ObjectDefaulter
    Typer           runtime.ObjectTyper
    UnsafeConvertor runtime.ObjectConvertor
    Authorizer      authorizer.Authorizer

    EquivalentResourceMapper runtime.EquivalentResourceMapper

    TableConvertor rest.TableConvertor
    FieldManager   *fieldmanager.FieldManager

    Resource    schema.GroupVersionResource
    Kind        schema.GroupVersionKind
    Subresource string

    MetaGroupVersion schema.GroupVersion

    // HubGroupVersion indicates what version objects read from etcd or incoming requests should be converted to for in-memory handling.
    HubGroupVersion schema.GroupVersion

    MaxRequestBodyBytes int64
}

RequestScope encapsulates common fields across all RESTful handler methods.

func (*RequestScope) AllowsMediaTypeTransform Uses

func (scope *RequestScope) AllowsMediaTypeTransform(mimeType, mimeSubType string, gvk *schema.GroupVersionKind) bool

func (*RequestScope) AllowsServerVersion Uses

func (scope *RequestScope) AllowsServerVersion(version string) bool

func (*RequestScope) AllowsStreamSchema Uses

func (scope *RequestScope) AllowsStreamSchema(s string) bool

func (*RequestScope) GetEquivalentResourceMapper Uses

func (r *RequestScope) GetEquivalentResourceMapper() runtime.EquivalentResourceMapper

func (*RequestScope) GetObjectConvertor Uses

func (r *RequestScope) GetObjectConvertor() runtime.ObjectConvertor

func (*RequestScope) GetObjectCreater Uses

func (r *RequestScope) GetObjectCreater() runtime.ObjectCreater

func (*RequestScope) GetObjectDefaulter Uses

func (r *RequestScope) GetObjectDefaulter() runtime.ObjectDefaulter

func (*RequestScope) GetObjectTyper Uses

func (r *RequestScope) GetObjectTyper() runtime.ObjectTyper

type ScopeNamer Uses

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 Uses

type TimeoutFactory interface {
    TimeoutCh() (<-chan time.Time, func() bool)
}

timeoutFactory abstracts watch timeout logic for testing

type WatchServer Uses

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
    // used to correct the object before we send it to the serializer
    Fixup func(runtime.Object) runtime.Object

    TimeoutFactory TimeoutFactory
}

WatchServer serves a watch.Interface over a websocket or vanilla HTTP.

func (*WatchServer) HandleWS Uses

func (s *WatchServer) HandleWS(ws *websocket.Conn)

HandleWS implements a websocket handler.

func (*WatchServer) ServeHTTP Uses

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.

Directories

PathSynopsis
fieldmanager
fieldmanager/internal
negotiationPackage negotiation contains media type negotiation logic.
responsewritersPackage responsewriters containers helpers to write responses in HTTP handlers.

Package handlers imports 55 packages (graph) and is imported by 9 packages. Updated 2019-12-11. Refresh now. Tools for package owners.