Class: Tasker::StepHandler::Api::Config
- Inherits:
-
Object
- Object
- Tasker::StepHandler::Api::Config
- Defined in:
- lib/tasker/step_handler/api.rb
Overview
Configuration class for API step handlers
Instance Attribute Summary collapse
-
#enable_exponential_backoff ⇒ Boolean
Whether to use exponential backoff for retries.
-
#headers ⇒ Hash
Request headers.
-
#jitter_factor ⇒ Float
Random factor for jitter calculation (0.0-1.0).
-
#params ⇒ Hash
The default query parameters for requests.
-
#retry_delay ⇒ Float
Delay in seconds before retrying after failure.
-
#ssl ⇒ Hash?
SSL configuration options.
-
#url ⇒ String
The base URL for API requests.
Instance Method Summary collapse
-
#default_headers ⇒ Hash
Returns the default headers for API requests.
-
#initialize(url:, params: {}, ssl: nil, headers: default_headers, enable_exponential_backoff: true, retry_delay: 1.0, jitter_factor: rand) ⇒ Config
constructor
Creates a new API configuration.
Constructor Details
#initialize(url:, params: {}, ssl: nil, headers: default_headers, enable_exponential_backoff: true, retry_delay: 1.0, jitter_factor: rand) ⇒ Config
Creates a new API configuration
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/tasker/step_handler/api.rb', line 94 def initialize( url:, params: {}, ssl: nil, headers: default_headers, enable_exponential_backoff: true, retry_delay: 1.0, jitter_factor: rand ) @url = url @params = params @ssl = ssl @headers = headers @enable_exponential_backoff = enable_exponential_backoff @retry_delay = retry_delay @jitter_factor = jitter_factor end |
Instance Attribute Details
#enable_exponential_backoff ⇒ Boolean
Returns Whether to use exponential backoff for retries.
79 80 81 |
# File 'lib/tasker/step_handler/api.rb', line 79 def enable_exponential_backoff @enable_exponential_backoff end |
#headers ⇒ Hash
Returns Request headers.
73 74 75 |
# File 'lib/tasker/step_handler/api.rb', line 73 def headers @headers end |
#jitter_factor ⇒ Float
Returns Random factor for jitter calculation (0.0-1.0).
82 83 84 |
# File 'lib/tasker/step_handler/api.rb', line 82 def jitter_factor @jitter_factor end |
#params ⇒ Hash
Returns The default query parameters for requests.
67 68 69 |
# File 'lib/tasker/step_handler/api.rb', line 67 def params @params end |
#retry_delay ⇒ Float
Returns Delay in seconds before retrying after failure.
76 77 78 |
# File 'lib/tasker/step_handler/api.rb', line 76 def retry_delay @retry_delay end |
#ssl ⇒ Hash?
Returns SSL configuration options.
70 71 72 |
# File 'lib/tasker/step_handler/api.rb', line 70 def ssl @ssl end |
#url ⇒ String
Returns The base URL for API requests.
64 65 66 |
# File 'lib/tasker/step_handler/api.rb', line 64 def url @url end |
Instance Method Details
#default_headers ⇒ Hash
Returns the default headers for API requests
115 116 117 118 119 120 |
# File 'lib/tasker/step_handler/api.rb', line 115 def default_headers { 'Content-Type' => 'application/json', 'Accept' => 'application/json' } end |