# File lib/oauth/request_proxy/base.rb, line 86 def non_oauth_parameters parameters.reject { |k,v| OAuth::PARAMETERS.include?(k) } end
See 9.1.1. in specs Normalize Request Parameters
# File lib/oauth/request_proxy/base.rb, line 97 def normalized_parameters normalize(parameters_for_signature) end
See 9.1.2 in specs
# File lib/oauth/request_proxy/base.rb, line 91 def normalized_uri u = URI.parse(uri) "#{u.scheme.downcase}://#{u.host.downcase}#{(u.scheme.downcase == 'http' && u.port != 80) || (u.scheme.downcase == 'https' && u.port != 443) ? ":#{u.port}" : ""}#{(u.path && u.path != '') ? u.path : '/'}" end
OAuth parameters
# File lib/oauth/request_proxy/base.rb, line 22 def oauth_callback parameters['oauth_callback'] end
# File lib/oauth/request_proxy/base.rb, line 26 def oauth_consumer_key parameters['oauth_consumer_key'] end
Authorization header for OAuth
# File lib/oauth/request_proxy/base.rb, line 138 def oauth_header(options = {}) header_params_str = oauth_parameters.map { |k,v| "#{k}=\"#{escape(v)}\"" }.join(', ') realm = "realm=\"#{options[:realm]}\", " if options[:realm] "OAuth #{realm}#{header_params_str}" end
# File lib/oauth/request_proxy/base.rb, line 30 def oauth_nonce parameters['oauth_nonce'] end
# File lib/oauth/request_proxy/base.rb, line 82 def oauth_parameters parameters.select { |k,v| OAuth::PARAMETERS.include?(k) }.reject { |k,v| v == "" } end
# File lib/oauth/request_proxy/base.rb, line 34 def oauth_signature # TODO can this be nil? [parameters['oauth_signature']].flatten.first || "" end
# File lib/oauth/request_proxy/base.rb, line 39 def oauth_signature_method case parameters['oauth_signature_method'] when Array parameters['oauth_signature_method'].first else parameters['oauth_signature_method'] end end
# File lib/oauth/request_proxy/base.rb, line 48 def oauth_timestamp parameters['oauth_timestamp'] end
# File lib/oauth/request_proxy/base.rb, line 52 def oauth_token parameters['oauth_token'] end
# File lib/oauth/request_proxy/base.rb, line 56 def oauth_verifier parameters['oauth_verifier'] end
# File lib/oauth/request_proxy/base.rb, line 60 def oauth_version parameters["oauth_version"] end
Parameter accessors
# File lib/oauth/request_proxy/base.rb, line 74 def parameters raise NotImplementedError, "Must be implemented by subclasses" end
# File lib/oauth/request_proxy/base.rb, line 78 def parameters_for_signature parameters.reject { |k,v| k == "oauth_signature" || unsigned_parameters.include?(k)} end
# File lib/oauth/request_proxy/base.rb, line 145 def query_string_blank? if uri = request.request_uri uri.split('?', 2)[1].nil? else request.query_string.blank? end end
# File lib/oauth/request_proxy/base.rb, line 101 def sign(options = {}) OAuth::Signature.sign(self, options) end
# File lib/oauth/request_proxy/base.rb, line 105 def sign!(options = {}) parameters["oauth_signature"] = sign(options) @signed = true signature end
See 9.1 in specs
# File lib/oauth/request_proxy/base.rb, line 112 def signature_base_string base = [method, normalized_uri, normalized_parameters] base.map { |v| escape(v) }.join("&") end
Has this request been signed yet?
# File lib/oauth/request_proxy/base.rb, line 118 def signed? @signed end
URI, including OAuth parameters
# File lib/oauth/request_proxy/base.rb, line 123 def signed_uri(with_oauth = true) if signed? if with_oauth params = parameters else params = non_oauth_parameters end [uri, normalize(params)] * "?" else STDERR.puts "This request has not yet been signed!" end end
# File lib/oauth/request_proxy/base.rb, line 155 def header_params %( X-HTTP_AUTHORIZATION Authorization HTTP_AUTHORIZATION ).each do |header| next unless request.env.include?(header) header = request.env[header] next unless header[0,6] == 'OAuth ' # parse the header into a Hash oauth_params = OAuth::Helper.parse_header(header) # remove non-OAuth parameters oauth_params.reject! { |k,v| k !~ /^oauth_/ } return oauth_params end return {} end
Generated with the Darkfish Rdoc Generator 2.