Check content type along with content length

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: crosbymichael)
Upstream-commit: 8266c381d62a0790c489e27cc93ed8f4618d03c7
Component: engine
This commit is contained in:
Michael Crosby
2014-08-01 15:59:19 -07:00
parent 22a66332f2
commit 93ad6fba3d
+3 -2
View File
@@ -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)