Move swagger+openapi setup to routes and decouple from run

This commit is contained in:
Dr. Stefan Schimanski
2016-09-30 10:40:34 +02:00
parent 77c53fd1a1
commit cca05af615
13 changed files with 218 additions and 119 deletions

View File

@@ -25,6 +25,7 @@ import (
"github.com/emicklei/go-restful"
"github.com/go-openapi/spec"
genericmux "k8s.io/kubernetes/pkg/genericapiserver/mux"
"k8s.io/kubernetes/pkg/genericapiserver/openapi/common"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util/json"
@@ -42,7 +43,7 @@ type openAPI struct {
}
// RegisterOpenAPIService registers a handler to provides standard OpenAPI specification.
func RegisterOpenAPIService(servePath string, webServices []*restful.WebService, config *common.Config, containers *restful.Container) (err error) {
func RegisterOpenAPIService(servePath string, webServices []*restful.WebService, config *common.Config, container *genericmux.APIContainer) (err error) {
o := openAPI{
config: config,
servePath: servePath,
@@ -61,7 +62,7 @@ func RegisterOpenAPIService(servePath string, webServices []*restful.WebService,
return err
}
containers.ServeMux.HandleFunc(servePath, func(w http.ResponseWriter, r *http.Request) {
container.SecretRoutes.HandleFunc(servePath, func(w http.ResponseWriter, r *http.Request) {
resp := restful.NewResponse(w)
if r.URL.Path != servePath {
resp.WriteErrorString(http.StatusNotFound, "Path not found!")