1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-07-02 16:58:30 +00:00

Handle "If-None-Match: *" HTTP headers for PUT requests

This commit is contained in:
Guillaume Ayoub 2012-08-31 17:21:16 +02:00
parent 237f42909a
commit e06cfa4de0

View file

@ -474,8 +474,9 @@ class Application(object):
# Evolution bug workaround
etag = environ.get("HTTP_IF_MATCH", "").replace("\\", "")
match = environ.get("HTTP_IF_NONE_MATCH", "") == "*"
if (not item and not etag) or (
item and ((etag or item.etag) == item.etag)):
item and ((etag or item.etag) == item.etag) and not match):
# PUT allowed in 3 cases
# Case 1: No item and no ETag precondition: Add new item
# Case 2: Item and ETag precondition verified: Modify item