Sha256: 51dc0ae631916a02f180987eebf9a952971935751788907d552888fd0402a069

Contents?: true

Size: 879 Bytes

Versions: 4

Compression:

Stored size: 879 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.delete(: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

4 entries across 4 versions & 1 rubygems

Version Path
em-http-request-0.2.15 lib/em-http/http_options.rb
em-http-request-0.2.14 lib/em-http/http_options.rb
em-http-request-0.2.13 lib/em-http/http_options.rb
em-http-request-0.2.12 lib/em-http/http_options.rb