mirror of
https://github.com/containers/podman.git
synced 2025-08-06 11:32:07 +08:00
API v2: pods: fix two incorrect return codes
1) /pods/<X>/exists - is documented to return 204, and that's the correct value, but until now it has been returning 200. 2) /pods/create - return 409 (conflict), not 500, when pod already exists Also: in WriteResponse(), if code is 204 (No Content) or 304 (Not Modified), emit the status code only but no content-type headers nor content. Signed-off-by: Ed Santiago <santiago@redhat.com>
This commit is contained in:
@ -23,6 +23,14 @@ func IsLibpodRequest(r *http.Request) bool {
|
||||
|
||||
// WriteResponse encodes the given value as JSON or string and renders it for http client
|
||||
func WriteResponse(w http.ResponseWriter, code int, value interface{}) {
|
||||
// RFC2616 explicitly states that the following status codes "MUST NOT
|
||||
// include a message-body":
|
||||
switch code {
|
||||
case http.StatusNoContent, http.StatusNotModified: // 204, 304
|
||||
w.WriteHeader(code)
|
||||
return
|
||||
}
|
||||
|
||||
switch v := value.(type) {
|
||||
case string:
|
||||
w.Header().Set("Content-Type", "text/plain; charset=us-ascii")
|
||||
|
Reference in New Issue
Block a user