class HttpClientOptions
Attributes
body[R]
decoding[R]
file[R]
followed[RW]
headers[R]
host[R]
keepalive[R]
method[R]
path[R]
port[R]
query[R]
redirects[RW]
uri[R]
Public Class Methods
new(uri, options, method)
click to toggle source
# File lib/em-http/http_client_options.rb, line 8 def initialize(uri, options, method) @keepalive = options[:keepalive] || false # default to single request per connection @redirects = options[:redirects] ||= 0 # default number of redirects to follow @followed = options[:followed] ||= 0 # keep track of number of followed requests @method = method.to_s.upcase @headers = options[:head] || {} @file = options[:file] @body = options[:body] @pass_cookies = options.fetch(:pass_cookies, true) # pass cookies between redirects @decoding = options.fetch(:decoding, true) # auto-decode compressed response set_uri(uri, options[:path], options[:query]) end
Public Instance Methods
follow_redirect?()
click to toggle source
# File lib/em-http/http_client_options.rb, line 25 def follow_redirect?; @followed < @redirects; end
no_body?()
click to toggle source
# File lib/em-http/http_client_options.rb, line 27 def no_body?; @method == "HEAD"; end
set_uri(uri, path = nil, query = nil)
click to toggle source
# File lib/em-http/http_client_options.rb, line 29 def set_uri(uri, path = nil, query = nil) uri = uri.kind_of?(Addressable::URI) ? uri : Addressable::URI::parse(uri.to_s) uri.path = path if path uri.path = '/' if uri.path.empty? @uri = uri @path = uri.path @host = uri.host @port = uri.port @query = query # Make sure the ports are set as Addressable::URI doesn't # set the port if it isn't there if @port.nil? @port = @uri.scheme == "https" ? 443 : 80 end uri end
ssl?()
click to toggle source
# File lib/em-http/http_client_options.rb, line 26 def ssl?; @uri.scheme == "https" || @uri.port == 443; end