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
|
require 'xmpp4r'
require 'oauth/request_proxy/base'
module OAuth
module RequestProxy
class JabberRequest < OAuth::RequestProxy::Base
proxies Jabber::Iq
proxies Jabber::Presence
proxies Jabber::Message
def parameters
return @params if @params
@params = {}
oauth = @request.get_elements('//oauth').first
return @params unless oauth
%w( oauth_token oauth_consumer_key oauth_signature_method oauth_signature
oauth_timestamp oauth_nonce oauth_version ).each do |param|
next unless element = oauth.first_element(param)
@params[param] = element.text
end
@params
end
def method
@request.name
end
def uri
[@request.from.strip.to_s, @request.to.strip.to_s].join("&")
end
def normalized_uri
uri
end
end
end
end
|