class OAuth::CLI::SignCommand
Public Instance Methods
_run()
click to toggle source
# File lib/oauth/cli/sign_command.rb, line 7 def _run request = OAuth::RequestProxy.proxy \ "method" => options[:method], "uri" => options[:uri], "parameters" => parameters puts_verbose_parameters(request) if verbose? request.sign! \ consumer_secret: options[:oauth_consumer_secret], token_secret: options[:oauth_token_secret] if verbose? puts_verbose_request(request) else puts request.oauth_signature end end
puts_verbose_parameters(request)
click to toggle source
# File lib/oauth/cli/sign_command.rb, line 26 def puts_verbose_parameters(request) puts "OAuth parameters:" request.oauth_parameters.each do |k, v| puts " " + [k, v].join(": ") end puts if request.non_oauth_parameters.any? puts "Parameters:" request.non_oauth_parameters.each do |k, v| puts " " + [k, v].join(": ") end puts end end
puts_verbose_request(request)
click to toggle source
# File lib/oauth/cli/sign_command.rb, line 42 def puts_verbose_request(request) puts "Method: #{request.method}" puts "URI: #{request.uri}" puts "Normalized params: #{request.normalized_parameters}" unless options[:xmpp] puts "Signature base string: #{request.signature_base_string}" if xmpp? puts puts "XMPP Stanza:" puts xmpp_output(request) puts puts "Note: You may want to use bare JIDs in your URI." puts else puts "OAuth Request URI: #{request.signed_uri}" puts "Request URI: #{request.signed_uri(false)}" puts "Authorization header: #{request.oauth_header(realm: options[:realm])}" end puts "Signature: #{request.oauth_signature}" puts "Escaped signature: #{OAuth::Helper.escape(request.oauth_signature)}" end
required_options()
click to toggle source
# File lib/oauth/cli/sign_command.rb, line 3 def required_options %i[oauth_consumer_key oauth_consumer_secret oauth_token oauth_token_secret] end
xmpp_output(request)
click to toggle source
# File lib/oauth/cli/sign_command.rb, line 64 def xmpp_output(request) <<-EOS <oauth xmlns='urn:xmpp:oauth:0'> <oauth_consumer_key>#{request.oauth_consumer_key}</oauth_consumer_key> <oauth_token>#{request.oauth_token}</oauth_token> <oauth_signature_method>#{request.oauth_signature_method}</oauth_signature_method> <oauth_signature>#{request.oauth_signature}</oauth_signature> <oauth_timestamp>#{request.oauth_timestamp}</oauth_timestamp> <oauth_nonce>#{request.oauth_nonce}</oauth_nonce> <oauth_version>#{request.oauth_version}</oauth_version> </oauth> EOS end