Sha256: ba6ca4b080a1b1b5136d5d2d5b109dbd53efe15b5365dacdc271bda69d7a6554
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
class HttpConnectionOptions attr_reader :host, :port, :tls, :proxy, :bind, :bind_port attr_reader :connect_timeout, :inactivity_timeout def initialize(uri, options) @connect_timeout = options[:connect_timeout] || 5 # default connection setup timeout @inactivity_timeout = options[:inactivity_timeout] ||= 10 # default connection inactivity (post-setup) timeout @tls = options[:tls] || options[:ssl] || {} @proxy = options[:proxy] if bind = options[:bind] @bind = bind[:host] || '0.0.0.0' # ZMachine will open a UNIX socket if bind :port # is explicitly set to nil @bind_port = bind[:port] end uri = uri.kind_of?(Addressable::URI) ? uri : Addressable::URI::parse(uri.to_s) @https = uri.scheme == "https" uri.port ||= (@https ? 443 : 80) if proxy = options[:proxy] @host = proxy[:host] @port = proxy[:port] else @host = uri.host @port = uri.port end end def http_proxy? @proxy && (@proxy[:type] == :http || @proxy[:type].nil?) && !@https end def connect_proxy? @proxy && (@proxy[:type] == :http || @proxy[:type].nil?) && @https end def socks_proxy? @proxy && (@proxy[:type] == :socks5) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
z-http-request-0.2.0 | lib/z-http/http_connection_options.rb |
z-http-request-0.1.0 | lib/z-http/http_connection_options.rb |