lib/heroku/api.rb in heroku-api-0.1.0 vs lib/heroku/api.rb in heroku-api-0.1.1
- old
+ new
@@ -1,10 +1,17 @@
require "base64"
require "cgi"
require "excon"
require "securerandom"
+require "stringio"
+require "zlib"
+__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), ".."))
+unless $LOAD_PATH.include?(__LIB_DIR__)
+ $LOAD_PATH.unshift(__LIB_DIR__)
+end
+
require "heroku/api/vendor/okjson"
require "heroku/api/errors"
require "heroku/api/mock"
require "heroku/api/version"
@@ -17,10 +24,11 @@
require "heroku/api/keys"
require "heroku/api/logs"
require "heroku/api/processes"
require "heroku/api/releases"
require "heroku/api/stacks"
+require "heroku/api/user"
srand
module Heroku
class API
@@ -33,10 +41,12 @@
:host => 'api.heroku.com',
:scheme => 'https'
}.merge(options)
options[:headers] = {
'Accept' => 'application/json',
+ 'Accept-Encoding' => 'gzip',
+ #'Accept-Language' => 'en-US, en;q=0.8',
'Authorization' => "Basic #{Base64.encode64(user_pass).gsub("\n", '')}",
'User-Agent' => "heroku-rb/#{Heroku::API::VERSION}",
'X-Heroku-API-Version' => '3',
'X-Ruby-Version' => RUBY_VERSION,
'X-Ruby-Platform' => RUBY_PLATFORM
@@ -56,10 +66,11 @@
reerror.set_backtrace(error.backtrace)
raise reerror
end
if response.body && !response.body.empty?
+ response.body = Zlib::GzipReader.new(StringIO.new(response.body)).read
begin
response.body = Heroku::API::OkJson.decode(response.body)
rescue
# leave non-JSON body as is
end
@@ -79,7 +90,10 @@
app_params["app[#{key}]"] = value
end
app_params
end
+ def addon_params(params)
+ {:config => params}
+ end
end
end