-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow Content-Length to be omitted when pushing on patch requests #404
base: main
Are you sure you want to change the base?
Conversation
I think there should be further discussion if the POST+PUT method should also be modified to allow chunked encoding, but I wanted introduce this independently as it updates the specification to reflect the current real-world usage by the docker cli. |
Technically due to the way the specification is written today the moby/docker cli push is nonconformant. Given that is one of the most common ways users are pushing today, the specification should recognize that it is allowed. Further, requiring `Content-Length` to be set means that no client that is conforming can use http chunked encoding, which limits the use of CDNs like CloudFlare and other reverse proxies. See further discussion at: containerd/containerd#7459 Signed-off-by: Ian Zink <ian@replicated.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens to the Content-Range
when the length is unknown?
Signed-off-by: Josh Dolitsky <393494+jdolitsky@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dropping from 1.1 milestone
Technically due to the way the specification is written today the moby/docker cli push is nonconformant. Given that is one of the most common ways users are pushing today, the specification should recognize that it is allowed.
Further, requiring
Content-Length
to be set means that no client that is conforming can use http chunked encoding, which limits the use of CDNs like CloudFlare and other reverse proxies. See further discussion at: containerd/containerd#7459