Method: HTTP::Options#initialize

Defined in:
lib/http/options.rb

#initialize(options = {}) ⇒ Options

Returns a new instance of Options.



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/http/options.rb', line 50

def initialize(options = {})
  defaults = {
    response:           :auto,
    proxy:              {},
    timeout_class:      self.class.default_timeout_class,
    timeout_options:    {},
    socket_class:       self.class.default_socket_class,
    nodelay:            false,
    ssl_socket_class:   self.class.default_ssl_socket_class,
    ssl:                {},
    keep_alive_timeout: 5,
    headers:            {},
    cookies:            {},
    encoding:           nil,
    features:           {}
  }

  opts_w_defaults = defaults.merge(options)
  opts_w_defaults[:headers] = HTTP::Headers.coerce(opts_w_defaults[:headers])
  opts_w_defaults.each { |(k, v)| self[k] = v }
end