Просмотр исходного кода

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

Guillaume Ayoub 13 лет назад
Родитель
Сommit
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