web.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # This file is part of Radicale - CalDAV and CardDAV server
  2. # Copyright © 2017-2021 Unrud <unrud@outlook.com>
  3. # Copyright © 2025-2025 Peter Bieringer <pb@bieringer.de>
  4. #
  5. # This library is free software: you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation, either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # This library is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with Radicale. If not, see <http://www.gnu.org/licenses/>.
  17. """
  18. Custom web plugin.
  19. """
  20. from http import client
  21. from radicale import httputils, types, web
  22. class Web(web.BaseWeb):
  23. def get(self, environ: types.WSGIEnviron, base_prefix: str, path: str,
  24. user: str) -> types.WSGIResponse:
  25. return client.OK, {"Content-Type": "text/plain"}, "custom", None
  26. def post(self, environ: types.WSGIEnviron, base_prefix: str, path: str,
  27. user: str) -> types.WSGIResponse:
  28. content = httputils.read_request_body(self.configuration, environ)
  29. return client.OK, {"Content-Type": "text/plain"}, "echo:" + content, None