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