diff options
Diffstat (limited to 'netlib')
-rw-r--r-- | netlib/http/http1/read.py | 5 | ||||
-rw-r--r-- | netlib/http/request.py | 2 | ||||
-rw-r--r-- | netlib/utils.py | 5 |
3 files changed, 4 insertions, 8 deletions
diff --git a/netlib/http/http1/read.py b/netlib/http/http1/read.py index 0d5e7f4b..0f6de26c 100644 --- a/netlib/http/http1/read.py +++ b/netlib/http/http1/read.py @@ -218,11 +218,6 @@ def _get_first_line(rfile): raise HttpReadDisconnect("Remote disconnected") if not line: raise HttpReadDisconnect("Remote disconnected") - line = line.strip() - try: - line.decode("ascii") - except ValueError: - raise HttpSyntaxException("Non-ascii characters in first line: {}".format(line)) return line.strip() diff --git a/netlib/http/request.py b/netlib/http/request.py index 095b5945..92d99532 100644 --- a/netlib/http/request.py +++ b/netlib/http/request.py @@ -69,7 +69,7 @@ class Request(Message): """ HTTP request method, e.g. "GET". """ - return _native(self.data.method) + return _native(self.data.method).upper() @method.setter def method(self, method): diff --git a/netlib/utils.py b/netlib/utils.py index 3ec60890..acc7ccd4 100644 --- a/netlib/utils.py +++ b/netlib/utils.py @@ -237,8 +237,9 @@ def parse_url(url): if isinstance(url, six.binary_type): host = parsed.hostname - # this should not raise a ValueError - decode_parse_result(parsed, "ascii") + # this should not raise a ValueError, + # but we try to be very forgiving here and accept just everything. + # decode_parse_result(parsed, "ascii") else: host = parsed.hostname.encode("idna") parsed = encode_parse_result(parsed, "ascii") |