summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/generic
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-01-21 12:44:50 -0600
committerBrent Baude <bbaude@redhat.com>2020-01-28 08:42:18 -0600
commit54587335bee45bdd5e4b975b4760b2898a138f2a (patch)
tree08f7cd1282654c0a82d16d8db5de41d2f6f4bcd5 /pkg/api/handlers/generic
parentd07c26310697d8874219731c6c42f6d0d0330e87 (diff)
downloadpodman-54587335bee45bdd5e4b975b4760b2898a138f2a.tar.gz
podman-54587335bee45bdd5e4b975b4760b2898a138f2a.tar.bz2
podman-54587335bee45bdd5e4b975b4760b2898a138f2a.zip
[CI:DOCS]Binding overhauls
Add binding for networks and begin documentation for binding methods for godoc. Also, add major functions to their own subpackages so reduce the amount of of method confusion. So instead of: bindings.ListImages(), we now do a [bindings].images.List(). Also, the connection is passed to each binding method via a context to allow for future growth. Lastly, add first set of tests. There are a couple of things to work out for rootless tests yet. Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/api/handlers/generic')
-rw-r--r--pkg/api/handlers/generic/ping.go4
-rw-r--r--pkg/api/handlers/generic/version.go74
2 files changed, 3 insertions, 75 deletions
diff --git a/pkg/api/handlers/generic/ping.go b/pkg/api/handlers/generic/ping.go
index 44a67d53f..00afd86bc 100644
--- a/pkg/api/handlers/generic/ping.go
+++ b/pkg/api/handlers/generic/ping.go
@@ -3,6 +3,8 @@ package generic
import (
"fmt"
"net/http"
+
+ "github.com/containers/libpod/pkg/api/handlers"
)
func PingGET(w http.ResponseWriter, _ *http.Request) {
@@ -16,7 +18,7 @@ func PingHEAD(w http.ResponseWriter, _ *http.Request) {
}
func setHeaders(w http.ResponseWriter) {
- w.Header().Set("API-Version", DefaultApiVersion)
+ 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")
diff --git a/pkg/api/handlers/generic/version.go b/pkg/api/handlers/generic/version.go
deleted file mode 100644
index 39423914d..000000000
--- a/pkg/api/handlers/generic/version.go
+++ /dev/null
@@ -1,74 +0,0 @@
-package generic
-
-import (
- "fmt"
- "net/http"
- goRuntime "runtime"
- "time"
-
- "github.com/containers/libpod/libpod"
- "github.com/containers/libpod/libpod/define"
- "github.com/containers/libpod/pkg/api/handlers"
- "github.com/containers/libpod/pkg/api/handlers/utils"
- docker "github.com/docker/docker/api/types"
- "github.com/pkg/errors"
-)
-
-const (
- DefaultApiVersion = "1.40" // See https://docs.docker.com/engine/api/v1.40/
- MinimalApiVersion = "1.24"
-)
-
-func VersionHandler(w http.ResponseWriter, r *http.Request) {
- // 200 ok
- // 500 internal
- runtime := r.Context().Value("runtime").(*libpod.Runtime)
-
- versionInfo, err := define.GetVersion()
- if err != nil {
- utils.Error(w, "Something went wrong.", http.StatusInternalServerError, err)
- return
- }
-
- infoData, err := runtime.Info()
- if err != nil {
- utils.Error(w, "Something went wrong.", http.StatusInternalServerError, errors.Wrapf(err, "Failed to obtain system memory info"))
- return
- }
- hostInfo := infoData[0].Data
-
- components := []docker.ComponentVersion{{
- Name: "Podman Engine",
- Version: versionInfo.Version,
- Details: map[string]string{
- "APIVersion": DefaultApiVersion,
- "Arch": goRuntime.GOARCH,
- "BuildTime": time.Unix(versionInfo.Built, 0).Format(time.RFC3339),
- "Experimental": "true",
- "GitCommit": versionInfo.GitCommit,
- "GoVersion": versionInfo.GoVersion,
- "KernelVersion": hostInfo["kernel"].(string),
- "MinAPIVersion": MinimalApiVersion,
- "Os": goRuntime.GOOS,
- },
- }}
-
- utils.WriteResponse(w, http.StatusOK, handlers.Version{Version: docker.Version{
- Platform: struct {
- Name string
- }{
- Name: fmt.Sprintf("%s/%s/%s", goRuntime.GOOS, goRuntime.GOARCH, hostInfo["Distribution"].(map[string]interface{})["distribution"].(string)),
- },
- APIVersion: components[0].Details["APIVersion"],
- Arch: components[0].Details["Arch"],
- BuildTime: components[0].Details["BuildTime"],
- Components: components,
- Experimental: true,
- GitCommit: components[0].Details["GitCommit"],
- GoVersion: components[0].Details["GoVersion"],
- KernelVersion: components[0].Details["KernelVersion"],
- MinAPIVersion: components[0].Details["MinAPIVersion"],
- Os: components[0].Details["Os"],
- Version: components[0].Version,
- }})
-}