diff options
Diffstat (limited to 'pkg/api/handlers')
-rw-r--r-- | pkg/api/handlers/generic/ping.go | 27 | ||||
-rw-r--r-- | pkg/api/handlers/ping.go | 30 | ||||
-rw-r--r-- | pkg/api/handlers/types.go | 4 |
3 files changed, 30 insertions, 31 deletions
diff --git a/pkg/api/handlers/generic/ping.go b/pkg/api/handlers/generic/ping.go deleted file mode 100644 index 00afd86bc..000000000 --- a/pkg/api/handlers/generic/ping.go +++ /dev/null @@ -1,27 +0,0 @@ -package generic - -import ( - "fmt" - "net/http" - - "github.com/containers/libpod/pkg/api/handlers" -) - -func PingGET(w http.ResponseWriter, _ *http.Request) { - setHeaders(w) - fmt.Fprintln(w, "OK") -} - -func PingHEAD(w http.ResponseWriter, _ *http.Request) { - setHeaders(w) - fmt.Fprintln(w, "") -} - -func setHeaders(w http.ResponseWriter) { - w.Header().Set("API-Version", handlers.DefaultApiVersion) - w.Header().Set("BuildKit-Version", "") - w.Header().Set("Docker-Experimental", "true") - w.Header().Set("Cache-Control", "no-cache") - w.Header().Set("Pragma", "no-cache") - w.WriteHeader(http.StatusOK) -} diff --git a/pkg/api/handlers/ping.go b/pkg/api/handlers/ping.go new file mode 100644 index 000000000..d41da60f3 --- /dev/null +++ b/pkg/api/handlers/ping.go @@ -0,0 +1,30 @@ +package handlers + +import ( + "fmt" + "net/http" + + "github.com/containers/buildah" +) + +// Ping returns headers to client about the service +// +// This handler must always be the same for the compatibility and libpod URL trees! +// Clients will use the Header availability to test which backend engine is in use. +func Ping(w http.ResponseWriter, r *http.Request) { + w.Header().Set("API-Version", DefaultApiVersion) + w.Header().Set("BuildKit-Version", "") + w.Header().Set("Docker-Experimental", "true") + w.Header().Set("Cache-Control", "no-cache") + w.Header().Set("Pragma", "no-cache") + + // API-Version and Libpod-API-Version may not always be equal + w.Header().Set("Libpod-API-Version", DefaultApiVersion) + w.Header().Set("Libpod-Buildha-Version", buildah.Version) + w.WriteHeader(http.StatusOK) + + if r.Method == http.MethodGet { + fmt.Fprint(w, "OK") + } + fmt.Fprint(w, "\n") +} diff --git a/pkg/api/handlers/types.go b/pkg/api/handlers/types.go index 9c8562744..34b428852 100644 --- a/pkg/api/handlers/types.go +++ b/pkg/api/handlers/types.go @@ -70,10 +70,6 @@ type ContainerStats struct { docker.ContainerStats } -type Ping struct { - docker.Ping -} - type Version struct { docker.Version } |