You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

POST to a URL which does not exist

POST-ing to a URL which does not exist will now create the destination as a ghost node, and create a child node inside of it. In Fedora 5, doing so would result in a 404 response.

Fedora 6 behavior

curl -XPOST http://localhost:8080/rest/doesnotexist/

HTTP/1.1 201 Created
Location: http://localhost:8080/rest/doesnotexist/f6149604-7bdd-41a1-8a06-7a8bd4b071c6

Fedora 5 behavior

curl -XPOST http://localhost:8080/rest/doesnotexist/

HTTP/1.1 404 Not Found

Memento Changes

  1. Mementos can no longer be created by specifying a timestamp, and are always created on the current resource state at the current time.
  2. Mementos cannot be deleted.

Conditional PUT using If-Match Changes

  1. Etags are calculated differently, and can no longer be relied upon for use with the If-Match header for PUT requests.
  2. To perform a conditional PUT that works for both Fedora 5 and 6, use X-State-Token with X-If-State-Token instead.

Modifications to the same Resource in Separate Transactions

  1. If the same resource is modified in two different concurrent transactions, the first modification will succeed, but the second modification will fail with a 409 conflict with the following message: "Cannot update info:fedora/<id> because it is being updated by another transaction." This holds true for containers and binaries.
    1. In Fedora 5, both modifications would succeed, and whichever transaction committed last would be the final state of the object


  • No labels