1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
require 'oauth/request_proxy/base'
module OAuth
module RequestProxy
# RequestProxy for Hashes to facilitate simpler signature creation.
# Usage:
# request = OAuth::RequestProxy.proxy \
# "method" => "iq",
# "uri" => [from, to] * "&",
# "parameters" => {
# "oauth_consumer_key" => oauth_consumer_key,
# "oauth_token" => oauth_token,
# "oauth_signature_method" => "HMAC-SHA1"
# }
#
# signature = OAuth::Signature.sign \
# request,
# :consumer_secret => oauth_consumer_secret,
# :token_secret => oauth_token_secret,
class MockRequest < OAuth::RequestProxy::Base
proxies Hash
def parameters
@request["parameters"]
end
def method
@request["method"]
end
def normalized_uri
super
rescue
# if this is a non-standard URI, it may not parse properly
# in that case, assume that it's already been normalized
uri
end
def uri
@request["uri"]
end
end
end
end
|