Преглед на файлове

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

Guillaume Ayoub преди 13 години
родител
ревизия
e06cfa4de0
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      radicale/__init__.py

+ 2 - 1
radicale/__init__.py

@@ -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