]> Cypherpunks repositories - gostls13.git/commitdiff
another attempt at utf-8 uploads.
authorRuss Cox <rsc@golang.org>
Sun, 8 Nov 2009 17:49:13 +0000 (09:49 -0800)
committerRuss Cox <rsc@golang.org>
Sun, 8 Nov 2009 17:49:13 +0000 (09:49 -0800)
the last attempt broke uploads of binary files like .png

R=r
http://go/go-review/1026025

lib/codereview/codereview.py

index f5ebc595e85330821c807985cfc2ebbf4f6de7d6..a8ba54025ab2d89ba897897985a226593acb62d1 100644 (file)
@@ -2137,14 +2137,14 @@ def EncodeMultipartFormData(fields, files):
     lines.append('--' + BOUNDARY)
     lines.append('Content-Disposition: form-data; name="%s"' % key)
     lines.append('')
-    if type(value) == str:
-      value = value.decode("utf-8")
+    if type(value) == unicode:
+      value = value.encode("utf-8")
     lines.append(value)
   for (key, filename, value) in files:
-    if type(filename) == str:
-      filename = filename.decode("utf-8")
-    if type(value) == str:
-      value = value.decode("utf-8")
+    if type(filename) == unicode:
+      filename = filename.encode("utf-8")
+    if type(value) == unicode:
+      value = value.encode("utf-8")
     lines.append('--' + BOUNDARY)
     lines.append('Content-Disposition: form-data; name="%s"; filename="%s"' %
              (key, filename))
@@ -2155,7 +2155,7 @@ def EncodeMultipartFormData(fields, files):
   lines.append('')
   body = CRLF.join(lines)
   content_type = 'multipart/form-data; boundary=%s' % BOUNDARY
-  return content_type, body.encode("utf-8")
+  return content_type, body
 
 
 def GetContentType(filename):