# File lib/faraday/adapter/em_http.rb, line 67 def configure_compression(options, env) if env[:method] == :get and not options[:head].key? 'accept-encoding' options[:head]['accept-encoding'] = 'gzip, compressed' end end
# File lib/faraday/adapter/em_http.rb, line 33 def configure_proxy(options, env) if proxy = request_options(env)[:proxy] options[:proxy] = { :host => proxy[:uri].host, :port => proxy[:uri].port, :authorization => [proxy[:user], proxy[:password]] } end end
# File lib/faraday/adapter/em_http.rb, line 43 def configure_socket(options, env) if bind = request_options(env)[:bind] options[:bind] = { :host => bind[:host], :port => bind[:port] } end end
# File lib/faraday/adapter/em_http.rb, line 52 def configure_ssl(options, env) if env[:url].scheme == 'https' && env[:ssl] options[:ssl] = { :cert_chain_file => env[:ssl][:ca_file], :verify_peer => env[:ssl].fetch(:verify, true) } end end
# File lib/faraday/adapter/em_http.rb, line 61 def configure_timeout(options, env) timeout, open_timeout = request_options(env).values_at(:timeout, :open_timeout) options[:connect_timeout] = options[:inactivity_timeout] = timeout options[:connect_timeout] = open_timeout if open_timeout end
# File lib/faraday/adapter/em_http.rb, line 8 def connection_config(env) options = {} configure_proxy(options, env) configure_timeout(options, env) configure_socket(options, env) configure_ssl(options, env) options end
# File lib/faraday/adapter/em_http.rb, line 28 def read_body(env) body = env[:body] body.respond_to?(:read) ? body.read : body end
# File lib/faraday/adapter/em_http.rb, line 17 def request_config(env) options = { :body => read_body(env), :head => env[:request_headers], # :keepalive => true, # :file => 'path/to/file', # stream data off disk } configure_compression(options, env) options end
# File lib/faraday/adapter/em_http.rb, line 73 def request_options(env) env[:request] end