Browse Source

Fix bug which mistakes 400 error for 500

Signed-off-by: Wang Xing <hzwangxing@corp.netease.com>
Wang Xing 9 years ago
parent
commit
beca261578

+ 1 - 0
api/server/httputils/errors.go

@@ -49,6 +49,7 @@ func GetHTTPErrorStatusCode(err error) int {
 			"not found":             http.StatusNotFound,
 			"not found":             http.StatusNotFound,
 			"no such":               http.StatusNotFound,
 			"no such":               http.StatusNotFound,
 			"bad parameter":         http.StatusBadRequest,
 			"bad parameter":         http.StatusBadRequest,
+			"no command":            http.StatusBadRequest,
 			"conflict":              http.StatusConflict,
 			"conflict":              http.StatusConflict,
 			"impossible":            http.StatusNotAcceptable,
 			"impossible":            http.StatusNotAcceptable,
 			"wrong login/password":  http.StatusUnauthorized,
 			"wrong login/password":  http.StatusUnauthorized,

+ 2 - 0
docs/reference/api/docker_remote_api.md

@@ -116,6 +116,8 @@ This section lists each version from latest to oldest.  Each listing includes a
 * `GET /info` now returns `SecurityOptions` field, showing if `apparmor`, `seccomp`, or `selinux` is supported.
 * `GET /info` now returns `SecurityOptions` field, showing if `apparmor`, `seccomp`, or `selinux` is supported.
 * `GET /networks` now supports filtering by `label` and `driver`.
 * `GET /networks` now supports filtering by `label` and `driver`.
 * `POST /containers/create` now takes `MaximumIOps` and `MaximumIOBps` fields. Windows daemon only.
 * `POST /containers/create` now takes `MaximumIOps` and `MaximumIOBps` fields. Windows daemon only.
+* `POST /containers/create` now returns a HTTP 400 "bad parameter" message
+  if no command is specified (instead of a HTTP 500 "server error")
 
 
 ### v1.23 API changes
 ### v1.23 API changes
 
 

+ 1 - 0
docs/reference/api/docker_remote_api_v1.18.md

@@ -292,6 +292,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.19.md

@@ -303,6 +303,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.20.md

@@ -307,6 +307,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.21.md

@@ -330,6 +330,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.22.md

@@ -438,6 +438,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.23.md

@@ -461,6 +461,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error

+ 1 - 0
docs/reference/api/docker_remote_api_v1.24.md

@@ -470,6 +470,7 @@ Query Parameters:
 Status Codes:
 Status Codes:
 
 
 -   **201** – no error
 -   **201** – no error
+-   **400** – bad parameter
 -   **404** – no such container
 -   **404** – no such container
 -   **406** – impossible to attach (container not running)
 -   **406** – impossible to attach (container not running)
 -   **500** – server error
 -   **500** – server error