Skip to content

Conversation

afranken
Copy link
Member

@afranken afranken commented Sep 23, 2022

Description

  • Features and fixes
    • Handle all incoming and outgoing ETags according to RFC2616 / RFC7232 (fixes IfNoneMatch on GetObject fails when ETag is enclosed in quotes #807)
      • Fixes ETag handling in GetObject, HeadObject, CopyObject, UploadPartCopy APIs.
      • We are now generating and storing ETags in the "RFC-Format" with enclosing double quotes.
      • Incoming ETags are used verbatim to compare against the internally held representation.
      • Wildcard ETags are also correctly handled.

Related Issue

Fixes #807

Tasks

  • I have signed the CLA.
  • I have written tests and verified that they fail without my change.

@afranken afranken self-assigned this Sep 23, 2022
@afranken afranken added the bug label Sep 23, 2022
@afranken afranken force-pushed the 807-if-match-etag-fixes-ctd branch from 6391f48 to cf714e4 Compare September 23, 2022 17:11
@afranken afranken changed the title Handle all incoming and outgoing ETags according to RFCs Handle all incoming and outgoing ETags according to RFC2616 / RFC7232 Sep 23, 2022
@afranken afranken force-pushed the 807-if-match-etag-fixes-ctd branch 4 times, most recently from d25ec60 to dd4ab74 Compare September 24, 2022 21:10
afranken and others added 5 commits September 25, 2022 02:02
Fixes ETag handling in GetObject, HeadObject, CopyObject, UploadPartCopy
APIs. We are now generating and storing ETags in the "RFC-Format" with
enclosing double quotes. Incoming ETags are used verbatim to compare
against the internally held representation. Wildcard ETags are also
correctly handled.

Fixes #807
Verified all tests against S3.
NoneMatch on get/head object returns NOT_MODIFIED.
NoneMatch on copy returns PRECONDITION_FAILED.
PRECONDITION_FAILED error message was wrong.
Copy tests specified a wrong range.

Fixes #807
@afranken afranken force-pushed the 807-if-match-etag-fixes-ctd branch from f84818d to 4d947bd Compare September 25, 2022 00:03
@afranken afranken merged commit dfa1614 into main Sep 25, 2022
@afranken afranken deleted the 807-if-match-etag-fixes-ctd branch September 25, 2022 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IfNoneMatch on GetObject fails when ETag is enclosed in quotes
1 participant