class Devtunnel::Api

Public Class Methods

execute_request(params) click to toggle source
# File lib/devtunnel/api.rb, line 44
def self.execute_request(params)
        if Devtunnel::Api.jack
                ApiResponse.new Devtunnel::Api.jack.execute(params)
        else
                RestClient::Request.new(params).execute do |response, request, result, &block|
                        ApiResponse.new(response)
                end
        end
end
execute_xml_request(params) click to toggle source
# File lib/devtunnel/api.rb, line 62
def self.execute_xml_request(params)
        if Devtunnel::Api.jack
                ApiResponse.new Devtunnel::Api.jack.execute(params)
        else
                RestClient::Request.new(params).execute do |response, request, result, &block|
                        response
                end
        end
end
jack() click to toggle source
# File lib/devtunnel/api.rb, line 10
def self.jack
        @@api_jack
end
jack=(double) click to toggle source
# File lib/devtunnel/api.rb, line 7
def self.jack=(double)
       @@api_jack = double
end
request(method, url, params = {}) click to toggle source
# File lib/devtunnel/api.rb, line 14
          def self.request method, url, params = {}, api_key = :account_api_key
                  begin
                          basic_username =    Devtunnel.api_key

                          if params[:basic_username]
                                  basic_username = params[:basic_username]
                                  params.delete(:basic_username)
                          end
                          if params[:basic_password]
                                  basic_password = params[:basic_password]
                                  params.delete(:basic_password)
                          end

                          req_params = { :user => basic_username, :password => basic_password,
                                  :method => method, :url => "#{Devtunnel.api_url}#{url}", :payload => params}

                          self.execute_request(req_params)

                  rescue Errno::ECONNREFUSED => e
                          raise ApiError.new(500, {}, {"errors" => [{"code" => 993, "message" => "Unable to connect to API server"}]})
                  rescue ExpiredApiKey => e
                          raise e
                  rescue InvalidApiKey => e
                          raise e
rescue Exception => e
                  # what kind of generic exceptions might we be loking for?
                          raise ApiError.new(500, {}, {"errors" => [{"code" => 996, "message" => "Error getting response from API server "+e.inspect}]})
                  end
          end
xml_request(method, url, params = {}) click to toggle source
# File lib/devtunnel/api.rb, line 54
def self.xml_request method, url, params = {}
                basic_username =    Devtunnel.api_key
                req_params = { :method => method, :url => url, :payload => params}

                self.execute_xml_request(req_params)
        
end