Explorar o código

Check content type along with content length
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)

Michael Crosby %!s(int64=11) %!d(string=hai) anos
pai
achega
8266c381d6
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      api/server/server.go

+ 3 - 2
api/server/server.go

@@ -724,15 +724,16 @@ func postContainersStart(eng *engine.Engine, version version.Version, w http.Res
 	)
 
 	// allow a nil body for backwards compatibility
-	if r.Body != nil {
+	if r.Body != nil && r.ContentLength > 0 {
 		if !api.MatchesContentType(r.Header.Get("Content-Type"), "application/json") {
-			return fmt.Errorf("Content-Type is not supported: %s", r.Header.Get("Content-Type"))
+			return fmt.Errorf("Content-Type of application/json is required")
 		}
 
 		if err := job.DecodeEnv(r.Body); err != nil {
 			return err
 		}
 	}
+
 	if err := job.Run(); err != nil {
 		if err.Error() == "Container already started" {
 			w.WriteHeader(http.StatusNotModified)