Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrAPIServiceNotFound = errors.New("resource not found")
Functions ¶
This section is empty.
Types ¶
type CacheableDownloader ¶ added in v0.28.3
type CacheableDownloader interface { UpdateHandler(http.Handler) Get() cached.Result[*spec.Swagger] }
func NewCacheableDownloader ¶ added in v0.28.0
func NewCacheableDownloader(apiServiceName string, downloader *Downloader, handler http.Handler) CacheableDownloader
NewCacheableDownloader creates a downloader that also returns the etag, making it useful to use as a cached dependency.
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.
type SpecAggregator ¶
type SpecAggregator interface { AddUpdateAPIService(apiService *v1.APIService, handler http.Handler) error // UpdateAPIServiceSpec updates the APIService. It returns ErrAPIServiceNotFound if the APIService doesn't exist. UpdateAPIServiceSpec(apiServiceName string) error RemoveAPIService(apiServiceName 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.
Click to show internal directories.
Click to hide internal directories.