Class: Twingly::HTTP::Client
- Inherits:
-
Object
- Object
- Twingly::HTTP::Client
- Defined in:
- lib/twingly/http.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- DEFAULT_RETRYABLE_EXCEPTIONS =
[ Faraday::ConnectionFailed, Faraday::SSLError, Zlib::BufError, Zlib::DataError, ].freeze
- TIMEOUT_EXCEPTIONS =
[ Faraday::TimeoutError, Net::OpenTimeout, ].freeze
- DEFAULT_HTTP_TIMEOUT =
20- DEFAULT_HTTP_OPEN_TIMEOUT =
10- DEFAULT_NUMBER_OF_RETRIES =
0- DEFAULT_RETRY_INTERVAL =
1- DEFAULT_MAX_URL_SIZE_BYTES =
Float::INFINITY
- DEFAULT_FOLLOW_REDIRECTS_LIMIT =
3
Instance Attribute Summary collapse
-
#follow_redirects ⇒ Object
writeonly
Sets the attribute follow_redirects.
-
#follow_redirects_limit ⇒ Object
Returns the value of attribute follow_redirects_limit.
-
#http_open_timeout ⇒ Object
writeonly
Sets the attribute http_open_timeout.
-
#http_timeout ⇒ Object
writeonly
Sets the attribute http_timeout.
-
#max_url_size_bytes ⇒ Object
writeonly
Sets the attribute max_url_size_bytes.
-
#number_of_retries ⇒ Object
writeonly
Sets the attribute number_of_retries.
-
#on_retry_callback ⇒ Object
writeonly
Sets the attribute on_retry_callback.
-
#request_id ⇒ Object
writeonly
Sets the attribute request_id.
-
#retry_interval ⇒ Object
writeonly
Sets the attribute retry_interval.
-
#retryable_exceptions ⇒ Object
Returns the value of attribute retryable_exceptions.
Instance Method Summary collapse
- #get(url, params: {}, headers: {}) ⇒ Object
-
#initialize(logger:, base_user_agent:) ⇒ Client
constructor
A new instance of Client.
- #post(url, body:, headers: {}) ⇒ Object
Constructor Details
#initialize(logger:, base_user_agent:) ⇒ Client
Returns a new instance of Client.
47 48 49 50 51 52 |
# File 'lib/twingly/http.rb', line 47 def initialize(logger:, base_user_agent:) @logger = logger @base_user_agent = base_user_agent initialize_defaults end |
Instance Attribute Details
#follow_redirects=(value) ⇒ Object (writeonly)
Sets the attribute follow_redirects
42 43 44 |
# File 'lib/twingly/http.rb', line 42 def follow_redirects=(value) @follow_redirects = value end |
#follow_redirects_limit ⇒ Object
Returns the value of attribute follow_redirects_limit.
44 45 46 |
# File 'lib/twingly/http.rb', line 44 def follow_redirects_limit @follow_redirects_limit end |
#http_open_timeout=(value) ⇒ Object (writeonly)
Sets the attribute http_open_timeout
36 37 38 |
# File 'lib/twingly/http.rb', line 36 def http_open_timeout=(value) @http_open_timeout = value end |
#http_timeout=(value) ⇒ Object (writeonly)
Sets the attribute http_timeout
35 36 37 |
# File 'lib/twingly/http.rb', line 35 def http_timeout=(value) @http_timeout = value end |
#max_url_size_bytes=(value) ⇒ Object (writeonly)
Sets the attribute max_url_size_bytes
40 41 42 |
# File 'lib/twingly/http.rb', line 40 def max_url_size_bytes=(value) @max_url_size_bytes = value end |
#number_of_retries=(value) ⇒ Object (writeonly)
Sets the attribute number_of_retries
37 38 39 |
# File 'lib/twingly/http.rb', line 37 def number_of_retries=(value) @number_of_retries = value end |
#on_retry_callback=(value) ⇒ Object (writeonly)
Sets the attribute on_retry_callback
39 40 41 |
# File 'lib/twingly/http.rb', line 39 def on_retry_callback=(value) @on_retry_callback = value end |
#request_id=(value) ⇒ Object (writeonly)
Sets the attribute request_id
41 42 43 |
# File 'lib/twingly/http.rb', line 41 def request_id=(value) @request_id = value end |
#retry_interval=(value) ⇒ Object (writeonly)
Sets the attribute retry_interval
38 39 40 |
# File 'lib/twingly/http.rb', line 38 def retry_interval=(value) @retry_interval = value end |
#retryable_exceptions ⇒ Object
Returns the value of attribute retryable_exceptions.
45 46 47 |
# File 'lib/twingly/http.rb', line 45 def retryable_exceptions @retryable_exceptions end |
Instance Method Details
#get(url, params: {}, headers: {}) ⇒ Object
54 55 56 |
# File 'lib/twingly/http.rb', line 54 def get(url, params: {}, headers: {}) http_response_for(:get, url: url, params: params, headers: headers) end |
#post(url, body:, headers: {}) ⇒ Object
58 59 60 |
# File 'lib/twingly/http.rb', line 58 def post(url, body:, headers: {}) http_response_for(:post, url: url, body: body, headers: headers) end |