Do not require "charset=utf-8" for a schema1 with content type application/json
For compatibility with other registries that don't use this exact variant of the Content-Type header, we need to be more flexible about what we accept. Any form of "application/json" should be allowed. The charset should not be included in the comparison. See docker/docker#19400. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
This commit is contained in:
parent
05dc6404fd
commit
3da0ee00d8
1 changed files with 8 additions and 1 deletions
|
@ -954,7 +954,14 @@ func testManifestAPISchema1(t *testing.T, env *testEnv, imageName string) manife
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
resp = putManifest(t, "re-putting signed manifest", manifestDigestURL, "", sm2)
|
// Re-push with a few different Content-Types. The official schema1
|
||||||
|
// content type should work, as should application/json with/without a
|
||||||
|
// charset.
|
||||||
|
resp = putManifest(t, "re-putting signed manifest", manifestDigestURL, schema1.MediaTypeManifest, sm2)
|
||||||
|
checkResponse(t, "re-putting signed manifest", resp, http.StatusCreated)
|
||||||
|
resp = putManifest(t, "re-putting signed manifest", manifestDigestURL, "application/json; charset=utf-8", sm2)
|
||||||
|
checkResponse(t, "re-putting signed manifest", resp, http.StatusCreated)
|
||||||
|
resp = putManifest(t, "re-putting signed manifest", manifestDigestURL, "application/json", sm2)
|
||||||
checkResponse(t, "re-putting signed manifest", resp, http.StatusCreated)
|
checkResponse(t, "re-putting signed manifest", resp, http.StatusCreated)
|
||||||
|
|
||||||
resp, err = http.Get(manifestDigestURL)
|
resp, err = http.Get(manifestDigestURL)
|
||||||
|
|
Loading…
Reference in a new issue