Class: OAuth::RequestProxy::ActionControllerRequest

Inherits:
Base
  • Object
show all
Defined in:
lib/oauth/request_proxy/action_controller_request.rb

Instance Attribute Summary

Attributes inherited from Base

#options, #request, #unsigned_parameters

Instance Method Summary collapse

Methods inherited from Base

#initialize, #non_oauth_parameters, #normalized_parameters, #normalized_uri, #oauth_callback, #oauth_consumer_key, #oauth_header, #oauth_nonce, #oauth_parameters, #oauth_signature, #oauth_signature_method, #oauth_timestamp, #oauth_token, #oauth_verifier, #oauth_version, proxies, #query_string_blank?, #sign, #sign!, #signature_and_unsigned_parameters, #signature_base_string, #signed?, #signed_uri

Methods included from Helper

_escape, escape, generate_key, generate_timestamp, normalize, normalize_nested_query, parse_header, stringify_keys, unescape

Constructor Details

This class inherits a constructor from OAuth::RequestProxy::Base

Instance Method Details

#methodObject



14
15
16
# File 'lib/oauth/request_proxy/action_controller_request.rb', line 14

def method
  request.method.to_s.upcase
end

#parametersObject



22
23
24
25
26
27
28
29
30
# File 'lib/oauth/request_proxy/action_controller_request.rb', line 22

def parameters
  if options[:clobber_request]
    options[:parameters] || {}
  else
    params = request_params.merge(query_params).merge(header_params)
    params.stringify_keys! if params.respond_to?(:stringify_keys!)
    params.merge(options[:parameters] || {})
  end
end

#parameters_for_signatureObject

Override from OAuth::RequestProxy::Base to avoid round-trip conversion to Hash or Array and thus preserve the original parameter names



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/oauth/request_proxy/action_controller_request.rb', line 35

def parameters_for_signature
  params = []
  params << options[:parameters].to_query if options[:parameters]

  unless options[:clobber_request]
    params << header_params.to_query
    params << request.query_string unless query_string_blank?

    params << request.raw_post if raw_post_signature?
  end

  params.
    join("&").split("&").
    reject { |s| s.match(/\A\s*\z/) }.
    map { |p| p.split("=").map { |esc| CGI.unescape(esc) } }.
    reject { |kv| kv[0] == "oauth_signature" }
end

#raw_post_signature?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/oauth/request_proxy/action_controller_request.rb', line 53

def raw_post_signature?
  (request.post? || request.put?) && request.content_type.to_s.downcase.start_with?("application/x-www-form-urlencoded")
end

#uriObject



18
19
20
# File 'lib/oauth/request_proxy/action_controller_request.rb', line 18

def uri
  request.url
end