package aggregator
import "k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator"
Index ¶
- func IsLocalAPIService(apiServiceName string) bool
- type Downloader
- func NewDownloader() Downloader
- func (s *Downloader) Download(handler http.Handler, etag string) (returnSpec *spec.Swagger, newEtag string, httpStatus int, err error)
- type SpecAggregator
Functions ¶
func IsLocalAPIService ¶
IsLocalAPIService returns true for local specs from delegates.
Types ¶
type Downloader ¶
type Downloader struct { }
Downloader is the OpenAPI downloader type. It will try to download spec from /openapi/v2 or /swagger.json endpoint.
func NewDownloader ¶
func NewDownloader() Downloader
NewDownloader creates a new OpenAPI Downloader.
func (*Downloader) Download ¶
func (s *Downloader) Download(handler http.Handler, etag string) (returnSpec *spec.Swagger, newEtag string, httpStatus int, err error)
Download downloads openAPI spec from /openapi/v2 endpoint of the given handler. httpStatus is only valid if err == nil
type SpecAggregator ¶
type SpecAggregator interface { AddUpdateAPIService(handler http.Handler, apiService *v1.APIService) error UpdateAPIServiceSpec(apiServiceName string, spec *spec.Swagger, etag string) error RemoveAPIServiceSpec(apiServiceName string) error GetAPIServiceInfo(apiServiceName string) (handler http.Handler, etag string, exists bool) GetAPIServiceNames() []string }
SpecAggregator calls out to http handlers of APIServices and merges specs. It keeps state of the last known specs including the http etag.
func BuildAndRegisterAggregator ¶
func BuildAndRegisterAggregator(downloader *Downloader, delegationTarget server.DelegationTarget, webServices []*restful.WebService, config *common.Config, pathHandler common.PathHandler) (SpecAggregator, error)
BuildAndRegisterAggregator registered OpenAPI aggregator handler. This function is not thread safe as it only being called on startup.
Source Files ¶
aggregator.go downloader.go metrics.go priority.go
- Version
- v0.18.0-alpha.2
- Published
- Jan 21, 2020
- Platform
- js/wasm
- Imports
- 21 packages
- Last checked
- 1 hour ago –
Tools for package owners.