Browse Source

Try to decode URLs with utf-8 (Fixes #486)

Unrud 9 năm trước cách đây
mục cha
commit
8db580abce
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      radicale/__init__.py

+ 7 - 0
radicale/__init__.py

@@ -38,6 +38,7 @@ import socketserver
 import ssl
 import subprocess
 import threading
+import urllib
 import wsgiref.simple_server
 import zlib
 from contextlib import contextmanager
@@ -133,6 +134,12 @@ class RequestHandler(wsgiref.simple_server.WSGIRequestHandler):
     def log_message(self, *args, **kwargs):
         """Disable inner logging management."""
 
+    def get_environ(self):
+        env = super().get_environ()
+        # Parent class only tries latin1 encoding
+        env["PATH_INFO"] = urllib.parse.unquote(self.path.split("?", 1)[0])
+        return env
+
 
 class Application:
     """WSGI application managing collections."""