Sha256: 77ab88b61c38dba37ec73480fc80a0d849f987ffb432a9ff5f94bc7f093aee87

Contents?: true

Size: 905 Bytes

Versions: 1

Compression:

Stored size: 905 Bytes

Contents

class HttpOptions
  attr_reader :uri, :method, :host, :port, :options

  def initialize(method, uri, options)
    uri.normalize!

    @options = options
    @method = method.to_s.upcase
    @uri = uri

    if proxy = options[:proxy]
      @host = proxy[:host]
      @port = proxy[:port]
    else
      # optional host for cases where you may have
      # pre-resolved the host, or you need an override
      @host = options[:host] || uri.host
      @port = uri.port
    end

    @options[:timeout]    ||= 10  # default connect & inactivity timeouts
    @options[:redirects]  ||= 0   # default number of redirects to follow

    # Make sure the ports are set as Addressable::URI doesn't
    # set the port if it isn't there
    if uri.scheme == "https"
      @uri.port ||= 443
      @port     ||= 443
    else
      @uri.port ||= 80
      @port     ||= 80
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
em-http-request-0.2.11 lib/em-http/http_options.rb