From 31112e4b087612f7d63e83d770263b8b9fa4f206 Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Mon, 9 Mar 2020 14:18:44 +0100 Subject: Refactor handler packages To help with packaging, the handlers in pkg/api/handlers are now found in pkg/api/handler/compat. Signed-off-by: Jhon Honce --- pkg/api/handlers/compat/ping.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pkg/api/handlers/compat/ping.go (limited to 'pkg/api/handlers/compat/ping.go') diff --git a/pkg/api/handlers/compat/ping.go b/pkg/api/handlers/compat/ping.go new file mode 100644 index 000000000..6e77e270f --- /dev/null +++ b/pkg/api/handlers/compat/ping.go @@ -0,0 +1,31 @@ +package compat + +import ( + "fmt" + "net/http" + + "github.com/containers/buildah" + "github.com/containers/libpod/pkg/api/handlers" +) + +// 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", 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") + + // API-Version and Libpod-API-Version may not always be equal + w.Header().Set("Libpod-API-Version", handlers.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") +} -- cgit v1.2.3-54-g00ecf