diff --git a/main.py b/main.py index f6a3017..54c61b0 100644 --- a/main.py +++ b/main.py @@ -28,7 +28,7 @@ def application(env, re): if len(split) > 2: re("400 Bad Request", []) yield "

400 Bad Request

".encode() - yield "Only one (validate) or two (conn) arguments may be passed as path." + yield "Only one (validate) or two (conn) arguments may be passed as path.".encode() return if len(split) > 0: @@ -52,8 +52,12 @@ def application(env, re): if rtype.lower() in ["conn", "connection"]: try: - frm = cfrm or args["from"][0] - to = cto or args["to"][0] + try: + frm = (cfrm or args["from"][0]).encode("latin-1").decode("utf-8") + to = (cto or args["to"][0]).encode("latin-1").decode("utf-8") + except UnicodeDecodeError: + frm = cfrm or args["from"][0] + to = cto or args["to"][0] if not frm or not to: raise ValueError() @@ -103,7 +107,10 @@ def application(env, re): elif rtype.lower() in ["val", "validate"]: try: - name = cfrm or args["name"] + try: + name = (cfrm or args["from"][0]).encode("latin-1").decode("utf-8") + except UnicodeDecodeError: + name = cfrm or args["from"][0] if not name: raise ValueError()