From cf0076b92dd11b3bda9ac7982e374d4531925ff9 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Fri, 2 May 2014 21:43:51 +0000 Subject: [PATCH 1/3] add _ping endpoint Docker-DCO-1.1-Signed-off-by: Victor Vieux (github: vieux) --- api/server/server.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/api/server/server.go b/api/server/server.go index 5db9df1901..18c9a93d97 100644 --- a/api/server/server.go +++ b/api/server/server.go @@ -3,7 +3,6 @@ package server import ( "bufio" "bytes" - "code.google.com/p/go.net/websocket" "crypto/tls" "crypto/x509" "encoding/base64" @@ -21,6 +20,8 @@ import ( "strings" "syscall" + "code.google.com/p/go.net/websocket" + "github.com/dotcloud/docker/api" "github.com/dotcloud/docker/engine" "github.com/dotcloud/docker/pkg/listenbuffer" @@ -976,6 +977,11 @@ func writeCorsHeaders(w http.ResponseWriter, r *http.Request) { w.Header().Add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS") } +func ping(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error { + w.Write([]byte{'O', 'K'}) + return nil +} + func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, localRoute string, handlerFunc HttpApiFunc, enableCors bool, dockerVersion version.Version) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // log the request @@ -1044,6 +1050,7 @@ func createRouter(eng *engine.Engine, logging, enableCors bool, dockerVersion st } m := map[string]map[string]HttpApiFunc{ "GET": { + "/_ping": ping, "/events": getEvents, "/info": getInfo, "/version": getVersion, From 3c422fe5bf45391a509fd3c7f33033baefb0a234 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Fri, 2 May 2014 21:51:20 +0000 Subject: [PATCH 2/3] add doc Docker-DCO-1.1-Signed-off-by: Victor Vieux (github: vieux) --- .../reference/api/docker_remote_api.md | 5 +++++ .../reference/api/docker_remote_api_v1.11.md | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/docs/sources/reference/api/docker_remote_api.md b/docs/sources/reference/api/docker_remote_api.md index 8a490b52ee..47f4724b1a 100644 --- a/docs/sources/reference/api/docker_remote_api.md +++ b/docs/sources/reference/api/docker_remote_api.md @@ -36,6 +36,11 @@ You can still call an old version of the api using ### What's new +`GET /_ping` + +**New!** +You can now ping the server via the `_ping` endpoint. + `GET /events` **New!** diff --git a/docs/sources/reference/api/docker_remote_api_v1.11.md b/docs/sources/reference/api/docker_remote_api_v1.11.md index ebaa3e6e44..5ad174565d 100644 --- a/docs/sources/reference/api/docker_remote_api_v1.11.md +++ b/docs/sources/reference/api/docker_remote_api_v1.11.md @@ -1162,6 +1162,26 @@ Show the docker version information - **200** – no error - **500** – server error +### Ping the docker server + +`GET /_ping` + +Ping the docker server + + **Example request**: + + GET /_ping HTTP/1.1 + + **Example response**: + + HTTP/1.1 200 OK + + OK + + Status Codes: + + - **200** - no error + ### Create a new image from a container's changes `POST /commit` From c65de2c0207ac67e5023ada8709490ef4627bd01 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Fri, 2 May 2014 22:03:59 +0000 Subject: [PATCH 3/3] return write error Docker-DCO-1.1-Signed-off-by: Victor Vieux (github: vieux) --- api/server/server.go | 4 ++-- docs/sources/reference/api/docker_remote_api_v1.11.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/api/server/server.go b/api/server/server.go index 18c9a93d97..ab0f98fa47 100644 --- a/api/server/server.go +++ b/api/server/server.go @@ -978,8 +978,8 @@ func writeCorsHeaders(w http.ResponseWriter, r *http.Request) { } func ping(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error { - w.Write([]byte{'O', 'K'}) - return nil + _, err := w.Write([]byte{'O', 'K'}) + return err } func makeHttpHandler(eng *engine.Engine, logging bool, localMethod string, localRoute string, handlerFunc HttpApiFunc, enableCors bool, dockerVersion version.Version) http.HandlerFunc { diff --git a/docs/sources/reference/api/docker_remote_api_v1.11.md b/docs/sources/reference/api/docker_remote_api_v1.11.md index 5ad174565d..53e07b380c 100644 --- a/docs/sources/reference/api/docker_remote_api_v1.11.md +++ b/docs/sources/reference/api/docker_remote_api_v1.11.md @@ -1181,6 +1181,7 @@ Ping the docker server Status Codes: - **200** - no error + - **500** - server error ### Create a new image from a container's changes