aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-06-28 17:34:42 -0500
committerJack Nagel2014-06-28 17:35:58 -0500
commit6b5c53b03fca22f610a1828839636ff494c19922 (patch)
tree69c236b501de1bb935d5ddcb7cd8c7df7c72e689 /Library
parent7cd31377a4969b96ed8da9d87f5a70f5a16aed61 (diff)
downloadbrew-6b5c53b03fca22f610a1828839636ff494c19922.tar.bz2
gist-logs: fix up encoding before passing the response body to OkJson
Fixes Homebrew/homebrew#30519.
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/Contributions/cmd/brew-gist-logs.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/Library/Contributions/cmd/brew-gist-logs.rb b/Library/Contributions/cmd/brew-gist-logs.rb
index fe71865f3..d36567f3e 100755
--- a/Library/Contributions/cmd/brew-gist-logs.rb
+++ b/Library/Contributions/cmd/brew-gist-logs.rb
@@ -76,7 +76,14 @@ def post path, data
request.body = Utils::JSON.dump(data)
response = http.request(request)
raise HTTP_Error, response if response.code != '201'
- Utils::JSON.load(response.body)
+
+ if response["Content-Type"].downcase == "application/json; charset=utf-8"
+ body = response.body.dup.force_encoding(Encoding::UTF_8)
+ else
+ body = response.body.encode(Encoding::UTF_8, undef: :replace)
+ end
+
+ Utils::JSON.load(body)
end
class HTTP_Error < RuntimeError