class OAuth::RequestProxy::RestClient::Request

Public Instance Methods

method() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 14
def method
  request.method.to_s.upcase
end
parameters() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 22
def parameters
  if options[:clobber_request]
    options[:parameters] || {}
  else
    post_parameters.merge(query_params).merge(options[:parameters] || {})
  end
end
uri() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 18
def uri
  request.url
end

Protected Instance Methods

post_parameters() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 39
def post_parameters
  # Post params are only used if posting form data
  is_form_data = request.payload && request.payload.headers["Content-Type"] == "application/x-www-form-urlencoded"
  if is_form_data && (method == "POST" || method == "PUT")
    OAuth::Helper.stringify_keys(query_string_to_hash(request.payload.to_s) || {})
  else
    {}
  end
end
query_params() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 32
def query_params
  query = URI.parse(request.url).query
  query ? CGI.parse(query) : {}
end
request_params() click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 37
def request_params; end

Private Instance Methods

query_string_to_hash(query) click to toggle source
# File lib/oauth/request_proxy/rest_client_request.rb, line 51
def query_string_to_hash(query)
  query.split("&").inject({}) do |result, q|
    k, v = q.split("=")
    if !v.nil?
      result.merge({ k => v })
    elsif !result.key?(k)
      result.merge({ k => true })
    else
      result
    end
  end
end