Sha256: b4ff21ddf7dcc4816988c0d8448c553312d57a6472071c539aefd47d96aea10a
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
require 'active_support' require 'action_controller/request' require 'oauth/request_proxy/base' require 'uri' module OAuth::RequestProxy class ActionControllerRequest < OAuth::RequestProxy::Base proxies(defined?(ActionController::AbstractRequest) ? ActionController::AbstractRequest : ActionController::Request) def method request.method.to_s.upcase end def uri case request when ActionController::CgiRequest tmp = URI.parse("#{ request.protocol }#{ request.host_with_port }#{ request.cgi.path_info }") tmp.query = request.query_string unless request.query_string.blank? tmp.to_s else request.url end end 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 # Override from OAuth::RequestProxy::Base to avoid roundtrip # conversion to Hash or Array and thus preserve the original # parameter names 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 request.query_string.blank? if request.post? && request.content_type == Mime::Type.lookup("application/x-www-form-urlencoded") params << request.raw_post end end params. join('&').split('&'). reject { |kv| kv =~ /^oauth_signature=.*/}. reject(&:blank?). map { |p| p.split('=').map{|esc| CGI.unescape(esc)} } end protected def query_params request.query_parameters end def request_params request.request_parameters end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
metavida-oauth-0.3.2.1 | lib/oauth/request_proxy/action_controller_request.rb |