Sha256: 7d3438aba41376b116c3bac78fb603058a70cf3280186a30bec6aabb9563fb06
Contents?: true
Size: 1.79 KB
Versions: 1
Compression:
Stored size: 1.79 KB
Contents
require "oauth/request_proxy/base" # em-http also uses adddressable so there is no need to require uri. require "em-http" require "cgi" module OAuth::RequestProxy::EventMachine class HttpRequest < OAuth::RequestProxy::Base # A Proxy for use when you need to sign EventMachine::HttpClient instances. # It needs to be called once the client is construct but before data is sent. # Also see oauth/client/em-http proxies ::EventMachine::HttpClient # Request in this con def method request.req[:method] end def uri request.conn.normalize.to_s end def parameters if options[:clobber_request] options[:parameters] else all_parameters end end protected def all_parameters merged_parameters({}, post_parameters, query_parameters, options[:parameters]) end def query_parameters quer = request.req[:query] hash_quer = if quer.respond_to?(:merge) quer else CGI.parse(quer.to_s) end CGI.parse(request.conn.query.to_s).merge(hash_quer) end def post_parameters headers = request.req[:head] || {} form_encoded = headers["Content-Type"].to_s.downcase.start_with?("application/x-www-form-urlencoded") if ["POST", "PUT"].include?(method) && form_encoded CGI.parse(request.normalize_body(request.req[:body]).to_s) else {} end end def merged_parameters(params, *extra_params) extra_params.compact.each do |params_pairs| params_pairs.each_pair do |key, value| if params.has_key?(key) params[key.to_s] += value else params[key.to_s] = [value].flatten end end end params end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
oauth-0.5.7.pre.pre1 | lib/oauth/request_proxy/em_http_request.rb |