1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-08-01 18:18:31 +00:00

Web: add support for the POST HTTP method. (#1097)

* Web: add support for the POST HTTP method.

This patch adds support for POST in addition to the already supported GET.

This is needed for implementing more complex web modules that also
support configuration modifications and advanced queries.

* Base web: return METHOD_NOT_ALLOWED when method isn't implemenetd.

Co-authored-by: Unrud <Unrud@users.noreply.github.com>
This commit is contained in:
Tom Hacohen 2020-09-14 19:17:45 +03:00 committed by GitHub
parent 6091bd46a3
commit d3bb19800c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 58 additions and 3 deletions

View file

@ -21,7 +21,7 @@ Take a look at the class ``BaseWeb`` if you want to implement your own.
"""
from radicale import utils
from radicale import httputils, utils
INTERNAL_TYPES = ("none", "internal")
@ -52,4 +52,16 @@ class BaseWeb:
``user`` is empty for anonymous users.
"""
raise NotImplementedError
return httputils.METHOD_NOT_ALLOWED
def post(self, environ, base_prefix, path, user):
"""POST request.
``base_prefix`` is sanitized and never ends with "/".
``path`` is sanitized and always starts with "/.web"
``user`` is empty for anonymous users.
"""
return httputils.METHOD_NOT_ALLOWED