# File lib/oauth/request_proxy/base.rb, line 86
86: def non_oauth_parameters
87: parameters.reject { |k,v| OAuth::PARAMETERS.include?(k) }
88: end
See 9.1.1. in specs Normalize Request Parameters
# File lib/oauth/request_proxy/base.rb, line 97
97: def normalized_parameters
98: normalize(parameters_for_signature)
99: end
See 9.1.2 in specs
# File lib/oauth/request_proxy/base.rb, line 91
91: def normalized_uri
92: u = URI.parse(uri)
93: "#{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 : '/'}"
94: end
OAuth parameters
# File lib/oauth/request_proxy/base.rb, line 22
22: def oauth_callback
23: parameters['oauth_callback']
24: end
# File lib/oauth/request_proxy/base.rb, line 26
26: def oauth_consumer_key
27: parameters['oauth_consumer_key']
28: end
Authorization header for OAuth
# File lib/oauth/request_proxy/base.rb, line 138
138: def oauth_header(options = {})
139: header_params_str = oauth_parameters.map { |k,v| "#{k}=\"#{escape(v)}\"" }.join(', ')
140:
141: realm = "realm=\"#{options[:realm]}\", " if options[:realm]
142: "OAuth #{realm}#{header_params_str}"
143: end
# File lib/oauth/request_proxy/base.rb, line 30
30: def oauth_nonce
31: parameters['oauth_nonce']
32: end
# File lib/oauth/request_proxy/base.rb, line 82
82: def oauth_parameters
83: parameters.select { |k,v| OAuth::PARAMETERS.include?(k) }.reject { |k,v| v == "" }
84: end
# File lib/oauth/request_proxy/base.rb, line 34
34: def oauth_signature
35: # TODO can this be nil?
36: [parameters['oauth_signature']].flatten.first || ""
37: end
# File lib/oauth/request_proxy/base.rb, line 39
39: def oauth_signature_method
40: case parameters['oauth_signature_method']
41: when Array
42: parameters['oauth_signature_method'].first
43: else
44: parameters['oauth_signature_method']
45: end
46: end
# File lib/oauth/request_proxy/base.rb, line 48
48: def oauth_timestamp
49: parameters['oauth_timestamp']
50: end
# File lib/oauth/request_proxy/base.rb, line 52
52: def oauth_token
53: parameters['oauth_token']
54: end
# File lib/oauth/request_proxy/base.rb, line 56
56: def oauth_verifier
57: parameters['oauth_verifier']
58: end
# File lib/oauth/request_proxy/base.rb, line 60
60: def oauth_version
61: parameters["oauth_version"]
62: end
Parameter accessors
# File lib/oauth/request_proxy/base.rb, line 74
74: def parameters
75: raise NotImplementedError, "Must be implemented by subclasses"
76: end
# File lib/oauth/request_proxy/base.rb, line 78
78: def parameters_for_signature
79: parameters.reject { |k,v| k == "oauth_signature" || unsigned_parameters.include?(k)}
80: end
# File lib/oauth/request_proxy/base.rb, line 101
101: def sign(options = {})
102: OAuth::Signature.sign(self, options)
103: end
# File lib/oauth/request_proxy/base.rb, line 105
105: def sign!(options = {})
106: parameters["oauth_signature"] = sign(options)
107: @signed = true
108: signature
109: end
See 9.1 in specs
# File lib/oauth/request_proxy/base.rb, line 112
112: def signature_base_string
113: base = [method, normalized_uri, normalized_parameters]
114: base.map { |v| escape(v) }.join("&")
115: end
Has this request been signed yet?
# File lib/oauth/request_proxy/base.rb, line 118
118: def signed?
119: @signed
120: end
URI, including OAuth parameters
# File lib/oauth/request_proxy/base.rb, line 123
123: def signed_uri(with_oauth = true)
124: if signed?
125: if with_oauth
126: params = parameters
127: else
128: params = non_oauth_parameters
129: end
130:
131: [uri, normalize(params)] * "?"
132: else
133: STDERR.puts "This request has not yet been signed!"
134: end
135: end
# File lib/oauth/request_proxy/base.rb, line 147
147: def header_params
148: %( X-HTTP_AUTHORIZATION Authorization HTTP_AUTHORIZATION ).each do |header|
149: next unless request.env.include?(header)
150:
151: header = request.env[header]
152: next unless header[0,6] == 'OAuth '
153:
154: # parse the header into a Hash
155: oauth_params = OAuth::Helper.parse_header(header)
156:
157: # remove non-OAuth parameters
158: oauth_params.reject! { |k,v| k !~ /^oauth_/ }
159:
160: return oauth_params
161: end
162:
163: return {}
164: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.