diff options
author | Brent Baude <bbaude@redhat.com> | 2020-03-18 14:33:39 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-03-18 14:34:14 -0500 |
commit | 52c835053007c5991903e778b5dbf64a25aea0a4 (patch) | |
tree | 63037289a6d3d4f9fd79e9d8323bc1989fea043c /pkg/api/server | |
parent | 45e7cbfef65d0379af19264c5fa90e1ae9ccb74a (diff) | |
download | podman-52c835053007c5991903e778b5dbf64a25aea0a4.tar.gz podman-52c835053007c5991903e778b5dbf64a25aea0a4.tar.bz2 podman-52c835053007c5991903e778b5dbf64a25aea0a4.zip |
serve swagger when present
register the swagger endpoint and add some error handling for when the swagger file does not exist
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/api/server')
-rw-r--r-- | pkg/api/server/register_swagger.go | 15 | ||||
-rw-r--r-- | pkg/api/server/server.go | 1 |
2 files changed, 3 insertions, 13 deletions
diff --git a/pkg/api/server/register_swagger.go b/pkg/api/server/register_swagger.go index 5564ec096..9048c1951 100644 --- a/pkg/api/server/register_swagger.go +++ b/pkg/api/server/register_swagger.go @@ -2,25 +2,14 @@ package server import ( "net/http" - "os" + "github.com/containers/libpod/pkg/api/handlers/libpod" "github.com/gorilla/mux" ) -// DefaultPodmanSwaggerSpec provides the default path to the podman swagger spec file -const DefaultPodmanSwaggerSpec = "/usr/share/containers/podman/swagger.yaml" - // RegisterSwaggerHandlers maps the swagger endpoint for the server func (s *APIServer) RegisterSwaggerHandlers(r *mux.Router) error { // This handler does _*NOT*_ provide an UI rather just a swagger spec that an UI could render - r.PathPrefix("/swagger/").HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - path := DefaultPodmanSwaggerSpec - if p, found := os.LookupEnv("PODMAN_SWAGGER_SPEC"); found { - path = p - } - w.Header().Set("Content-Type", "text/yaml") - - http.ServeFile(w, r, path) - }) + r.HandleFunc(VersionedPath("/libpod/swagger"), s.APIHandler(libpod.ServeSwagger)).Methods(http.MethodGet) return nil } diff --git a/pkg/api/server/server.go b/pkg/api/server/server.go index 8496cd11c..3d4974535 100644 --- a/pkg/api/server/server.go +++ b/pkg/api/server/server.go @@ -109,6 +109,7 @@ func newServer(runtime *libpod.Runtime, duration time.Duration, listener *net.Li server.registerPingHandlers, server.registerPluginsHandlers, server.registerPodsHandlers, + server.RegisterSwaggerHandlers, server.registerSwarmHandlers, server.registerSystemHandlers, server.registerVersionHandlers, |