Class: Html2rss::RequestService::FaradayStrategy
- Defined in:
- lib/html2rss/request_service/faraday_strategy.rb
Overview
Strategy to use Faraday for the request. rubocop:disable Metrics/ClassLength -- terminal redirect retry colocated with Faraday transport
Defined Under Namespace
Modules: PeerIpValidator Classes: StreamingBodyMiddleware
Instance Attribute Summary collapse
- #response_guard ⇒ ResponseGuard readonly
Instance Method Summary collapse
-
#perform_execute ⇒ Response
Executes the request with runtime policy enforcement, returning the normalized response.
Methods inherited from Strategy
Constructor Details
This class inherits a constructor from Html2rss::RequestService::Strategy
Instance Attribute Details
#response_guard ⇒ ResponseGuard (readonly)
32 33 34 |
# File 'lib/html2rss/request_service/faraday_strategy.rb', line 32 def response_guard @response_guard end |
Instance Method Details
#perform_execute ⇒ Response
Executes the request with runtime policy enforcement, returning the normalized response.
37 38 39 40 41 42 43 44 |
# File 'lib/html2rss/request_service/faraday_strategy.rb', line 37 def perform_execute deadline = request_deadline @response_guard = ResponseGuard.new(policy: ctx.policy) reset_redirect_tracking! raw_response = request_with_terminal_redirect_retry(response_guard, deadline:) raw_response = retry_without_streaming(response_guard, deadline:) if retry_without_streaming?(raw_response) build_response(raw_response) end |