Add support for PROPPATCH requests

This commit is contained in:
Guillaume Ayoub
2011-04-28 18:04:34 +02:00
parent d4cda967c2
commit c1da6872dd
2 changed files with 53 additions and 1 deletions

View File

@@ -291,7 +291,7 @@ class CalendarHTTPHandler(server.BaseHTTPRequestHandler):
self.send_response(client.OK)
self.send_header(
"Allow", "DELETE, HEAD, GET, MKCALENDAR, "
"OPTIONS, PROPFIND, PUT, REPORT")
"OPTIONS, PROPFIND, PROPPATCH, PUT, REPORT")
self.send_header("DAV", "1, calendar-access")
self.end_headers()
@@ -309,6 +309,18 @@ class CalendarHTTPHandler(server.BaseHTTPRequestHandler):
self.end_headers()
self.wfile.write(self._answer)
@log_request_content
def do_PROPPATCH(self):
"""Manage PROPPATCH request."""
self._answer = xmlutils.proppatch()
self.send_response(client.MULTI_STATUS)
self.send_header("DAV", "1, calendar-access")
self.send_header("Content-Length", len(self._answer))
self.send_header("Content-Type", "text/xml")
self.end_headers()
self.wfile.write(self._answer)
@log_request_content
@check_rights
def do_PUT(self):