Class: Algolia::Transport::RequestOptions
- Inherits:
-
Object
- Object
- Algolia::Transport::RequestOptions
- Defined in:
- lib/algolia/transport/request_options.rb
Instance Attribute Summary collapse
-
#compression_type ⇒ Object
Returns the value of attribute compression_type.
-
#connect_timeout ⇒ Object
Returns the value of attribute connect_timeout.
-
#data ⇒ Object
Returns the value of attribute data.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#params ⇒ Object
Returns the value of attribute params.
-
#timeout ⇒ Object
Returns the value of attribute timeout.
Instance Method Summary collapse
-
#add_compression_type(opts = {}) ⇒ Object
Add or update compression_type.
-
#add_connect_timeout(opts = {}) ⇒ Object
Add or update connect timeout.
- #add_data_body(opts = {}) ⇒ Object
-
#add_headers(opts = {}) ⇒ Object
Add or update headers.
-
#add_params(opts = {}) ⇒ Object
Add or update query parameters.
-
#add_timeout(opts = {}) ⇒ Object
Add or update timeout.
-
#create(opts = {}) ⇒ Object
Create and format headers and params from request options.
-
#initialize(config) ⇒ RequestOptions
constructor
A new instance of RequestOptions.
Constructor Details
#initialize(config) ⇒ RequestOptions
Returns a new instance of RequestOptions.
8 9 10 11 12 13 14 15 |
# File 'lib/algolia/transport/request_options.rb', line 8 def initialize(config) @headers = {} @params = {} @data = {} @timeout = nil @connect_timeout = nil @compression_type = config.compression_type end |
Instance Attribute Details
#compression_type ⇒ Object
Returns the value of attribute compression_type.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def compression_type @compression_type end |
#connect_timeout ⇒ Object
Returns the value of attribute connect_timeout.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def connect_timeout @connect_timeout end |
#data ⇒ Object
Returns the value of attribute data.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def data @data end |
#headers ⇒ Object
Returns the value of attribute headers.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def headers @headers end |
#params ⇒ Object
Returns the value of attribute params.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def params @params end |
#timeout ⇒ Object
Returns the value of attribute timeout.
4 5 6 |
# File 'lib/algolia/transport/request_options.rb', line 4 def timeout @timeout end |
Instance Method Details
#add_compression_type(opts = {}) ⇒ Object
Add or update compression_type
78 79 80 81 |
# File 'lib/algolia/transport/request_options.rb', line 78 def add_compression_type(opts = {}) @compression_type = opts[:compression_type] || @compression_type opts.delete(:compression_type) end |
#add_connect_timeout(opts = {}) ⇒ Object
Add or update connect timeout
69 70 71 72 |
# File 'lib/algolia/transport/request_options.rb', line 69 def add_connect_timeout(opts = {}) @connect_timeout = opts[:connect_timeout] || @connect_timeout opts.delete(:connect_timeout) end |
#add_data_body(opts = {}) ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/algolia/transport/request_options.rb', line 85 def add_data_body(opts = {}) unless opts.empty? opts.each do |key, value| @data[key.to_sym] = value end end end |
#add_headers(opts = {}) ⇒ Object
Add or update headers
34 35 36 37 38 39 40 41 |
# File 'lib/algolia/transport/request_options.rb', line 34 def add_headers(opts = {}) unless opts[:headers].nil? opts[:headers].each do |opt, value| @headers[opt.to_s] = value end opts.delete(:headers) end end |
#add_params(opts = {}) ⇒ Object
Add or update query parameters
47 48 49 50 51 52 53 54 |
# File 'lib/algolia/transport/request_options.rb', line 47 def add_params(opts = {}) unless opts[:params].nil? opts[:params].each do |opt, value| @params[opt.to_sym] = value end opts.delete(:params) end end |
#add_timeout(opts = {}) ⇒ Object
Add or update timeout
60 61 62 63 |
# File 'lib/algolia/transport/request_options.rb', line 60 def add_timeout(opts = {}) @timeout = opts[:timeout] || @timeout opts.delete(:timeout) end |
#create(opts = {}) ⇒ Object
Create and format headers and params from request options
21 22 23 24 25 26 27 28 |
# File 'lib/algolia/transport/request_options.rb', line 21 def create(opts = {}) add_headers(opts) add_params(opts) add_timeout(opts) add_connect_timeout(opts) add_compression_type(opts) add_data_body(opts) end |