aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-02-07 10:34:22 -0500
committerGitHub <noreply@github.com>2022-02-07 10:34:22 -0500
commit46d9a2570ad3eb4f1d7fe0928927e644ebe8a2a3 (patch)
treed60b025f346fd4651283522fea65b881df4bed6f
parent30b076b98731e87067092e45e58d826ef839003a (diff)
parent3b561a468232c18c63d98920ce2812721d853f29 (diff)
downloadpodman-46d9a2570ad3eb4f1d7fe0928927e644ebe8a2a3.tar.gz
podman-46d9a2570ad3eb4f1d7fe0928927e644ebe8a2a3.tar.bz2
podman-46d9a2570ad3eb4f1d7fe0928927e644ebe8a2a3.zip
Merge pull request #13156 from flouthoc/fix-compat-build-response-header
compat: endpoint `/build` must set header `content type` as `application/json` in response header.
-rw-r--r--pkg/api/handlers/compat/images_build.go2
-rw-r--r--test/apiv2/10-images.at5
2 files changed, 6 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/images_build.go b/pkg/api/handlers/compat/images_build.go
index cc9667202..0ebf74f98 100644
--- a/pkg/api/handlers/compat/images_build.go
+++ b/pkg/api/handlers/compat/images_build.go
@@ -605,8 +605,8 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
}
// Send headers and prime client for stream to come
- w.WriteHeader(http.StatusOK)
w.Header().Set("Content-Type", "application/json")
+ w.WriteHeader(http.StatusOK)
flush()
body := w.(io.Writer)
diff --git a/test/apiv2/10-images.at b/test/apiv2/10-images.at
index 673858a3c..9526183e3 100644
--- a/test/apiv2/10-images.at
+++ b/test/apiv2/10-images.at
@@ -190,6 +190,11 @@ t POST "libpod/build?dockerfile=containerfile" $CONTAINERFILE_TAR application/js
t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR application/json 200 \
.stream~"STEP 1/1: FROM $IMAGE"
+# Build api response header must contain Content-type: application/json
+t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR application/json 200
+response_headers=$(cat "$WORKDIR/curl.headers.out")
+like "$response_headers" ".*application/json.*" "header does not contains application/json"
+
# PR #12091: output from compat API must now include {"aux":{"ID":"sha..."}}
t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR 200 \
'.aux|select(has("ID")).ID~^sha256:[0-9a-f]\{64\}$'