Skip to content
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

Re-examine guidance for including eTag in response to PUT request #540

Open
mikekistler opened this issue Apr 22, 2024 · 0 comments
Open
Labels
Azure Guidelines This issue relates to the Azure Guidelines.

Comments

@mikekistler
Copy link
Member

Our current ConsiderationsForServiceDesign includes this statement in the PUT with additional long-running processing section:

If the resource supports ETags, the response may contain an etag header and possibly an etag property in the resource.

However, @johanste pointed out in a review comment on PR #517

Per RFC9110:

An origin server MUST NOT send a validator field (Section 8.8), such as an ETag or Last-Modified field, in a successful response to PUT unless the request's representation data was saved without any transformation applied to the content
Since the status property is readOnly, I don't see any situation where the service would be allowed to send an etag header.

If we choose to follow this aspect of the HTTP RFC, I think eTags would have to be eliminated from the vast majority of PUT responses in Azure -- not just LRO puts. Any resource with a readOnly field would be barred from returning an eTag from PUT.

@mikekistler mikekistler added the Azure Guidelines This issue relates to the Azure Guidelines. label Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure Guidelines This issue relates to the Azure Guidelines.
Projects
None yet
Development

No branches or pull requests

1 participant