diff options
author | Brent Baude <bbaude@redhat.com> | 2020-08-03 14:19:21 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-08-03 14:19:21 -0500 |
commit | 246603041cc72f4c43befe91de38ddf5aa085728 (patch) | |
tree | 7397500382d533254f683e336f2bb539d7078b96 /pkg/api/handlers/compat | |
parent | 1709335cf04e947117d4ae4dca72f24f4095511b (diff) | |
download | podman-246603041cc72f4c43befe91de38ddf5aa085728.tar.gz podman-246603041cc72f4c43befe91de38ddf5aa085728.tar.bz2 podman-246603041cc72f4c43befe91de38ddf5aa085728.zip |
docker-compose uses application/tar
even though the official documentation suggests that application/x-tar should be used for tar files, it seems docker-compose uses application/tar. we now accept them and issue a warning.
Fixes: #7185
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/api/handlers/compat')
-rw-r--r-- | pkg/api/handlers/compat/images_build.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/images_build.go b/pkg/api/handlers/compat/images_build.go index 3005063a7..9601f5e18 100644 --- a/pkg/api/handlers/compat/images_build.go +++ b/pkg/api/handlers/compat/images_build.go @@ -20,6 +20,7 @@ import ( "github.com/containers/podman/v2/pkg/api/handlers/utils" "github.com/containers/storage/pkg/archive" "github.com/gorilla/schema" + "github.com/sirupsen/logrus" ) func BuildImage(w http.ResponseWriter, r *http.Request) { @@ -33,7 +34,13 @@ func BuildImage(w http.ResponseWriter, r *http.Request) { } if hdr, found := r.Header["Content-Type"]; found && len(hdr) > 0 { - if hdr[0] != "application/x-tar" { + contentType := hdr[0] + switch contentType { + case "application/tar": + logrus.Warnf("tar file content type is %s, should use \"application/x-tar\" content type", contentType) + case "application/x-tar": + break + default: utils.BadRequest(w, "Content-Type", hdr[0], fmt.Errorf("Content-Type: %s is not supported. Should be \"application/x-tar\"", hdr[0])) return |