xAPI-Spec icon indicating copy to clipboard operation
xAPI-Spec copied to clipboard

Document PUT requirements eliminate natural idempotence of PUT

Open bscSCORM opened this issue 9 years ago • 4 comments

Note that these requirements do not allow an exception for the same exact body being PUT multiple times:

If a PUT request is received without either header for a resource that already exists, the LRS:

  • MUST return HTTP status 409 Conflict.
  • MUST return a response explaining that the Learning Record Provider SHOULD
    • check the current state of the resource.
    • set the "If-Match" header with the current ETag to resolve the conflict.
  • MUST NOT make a modification to the resource.

I suggest we change the language above to:

If a PUT request is received without either header for a resource that already exists *but is not identical to the body of the request*, the LRS:

(detailed requirements unchanged)

bscSCORM avatar Jan 29 '17 20:01 bscSCORM

+1, we can tweak the language whenever it's added.

Would you agree this is a minor change?

garemoko avatar Jan 30 '17 09:01 garemoko

Yes, minor not patch or major, it will require an LRS change but no clients should be relying on the old behavior.

bscSCORM avatar Jan 30 '17 19:01 bscSCORM

+1, this became too process oriented and less to the point. Agree this is minor.

andyjohnson avatar Feb 01 '17 18:02 andyjohnson

Per the 2/1/17 call, @bscSCORM 's revision is sound

andyjohnson avatar Feb 01 '17 19:02 andyjohnson