1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-06-26 16:45:52 +00:00

Added hook to proppatch request

This commit is contained in:
Tuna Celik 2020-08-19 01:38:49 +02:00
parent 46d1a31441
commit 06fbac67a1
2 changed files with 11 additions and 0 deletions

View file

@ -21,9 +21,12 @@ import socket
from http import client
from xml.etree import ElementTree as ET
import defusedxml.ElementTree as DefusedET
from radicale import app, httputils
from radicale import item as radicale_item
from radicale import storage, xmlutils
from radicale.hook import HookNotificationItem, HookNotificationItemTypes
from radicale.log import logger
@ -112,6 +115,13 @@ class ApplicationProppatchMixin:
try:
xml_answer = xml_proppatch(base_prefix, path, xml_content,
item)
hook_notification_item = HookNotificationItem(
HookNotificationItemTypes.CPATCH,
access.path,
DefusedET.tostring(xml_content, encoding=self._encoding)
.decode(encoding=self._encoding)
)
self._hook.notify(hook_notification_item)
except ValueError as e:
logger.warning(
"Bad PROPPATCH request on %r: %s", path, e, exc_info=True)

View file

@ -29,6 +29,7 @@ class BaseHook:
class HookNotificationItemTypes(Enum):
CPATCH = "cpatch"
UPSERT = "upsert"
DELETE = "delete"