summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2016-08-11 21:06:49 +0300
committerDmitry Gutov <dgutov@yandex.ru>2016-08-11 21:06:49 +0300
commit75f1882479cc62f8795bb652a0853a3f395420a2 (patch)
tree8d17f455be4a66937b74aed90ca5d62daf11cd23
parentd2db5dd8358f132252c8d11d40b1457615c43a57 (diff)
Convert the remaining strings to unibyte before concatenating
* lisp/url/url-http.el (url-http--encode-string): New function. (url-http-create-request): Use it to convert ASCII to unibyte. (Bug#24117)
-rw-r--r--lisp/url/url-http.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 7156e6fa4e..860e652936 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -235,7 +235,7 @@ request.")
'url-http-proxy-basic-auth-storage))
(url-get-authentication url-http-proxy nil 'any nil))))
(real-fname (url-filename url-http-target-url))
- (host (url-host url-http-target-url))
+ (host (url-http--encode-string (url-host url-http-target-url)))
(auth (if (cdr-safe (assoc "Authorization" url-http-extra-headers))
nil
(url-get-authentication (or
@@ -278,7 +278,8 @@ request.")
(concat
;; The request
(or url-http-method "GET") " "
- (if using-proxy (url-recreate-url url-http-target-url) real-fname)
+ (url-http--encode-string
+ (if using-proxy (url-recreate-url url-http-target-url) real-fname))
" HTTP/" url-http-version "\r\n"
;; Version of MIME we speak
"MIME-Version: 1.0\r\n"
@@ -360,6 +361,11 @@ request.")
(url-http-debug "Request is: \n%s" request)
request))
+(defun url-http--encode-string (s)
+ (if (multibyte-string-p s)
+ (encode-coding-string s 'us-ascii)
+ s))
+
;; Parsing routines
(defun url-http-clean-headers ()
"Remove trailing \r from header lines.