Class ShieldDelegatingHandler
A DelegatingHandler with safe per-attempt request replay.
public sealed class ShieldDelegatingHandler : DelegatingHandler, IDisposable
- Inheritance
-
ShieldDelegatingHandler
- Implements
- Inherited Members
Remarks
The caller retains ownership of the original request. The handler owns request-factory results, cloned requests, and nonselected responses. Non-idempotent replay requires explicit opt-in.
Constructors
ShieldDelegatingHandler(Shield<HttpResponseMessage>)
Creates the handler with safe no-buffer replay defaults.
public ShieldDelegatingHandler(Shield<HttpResponseMessage> shield)
Parameters
shieldShield<HttpResponseMessage>
ShieldDelegatingHandler(Shield<HttpResponseMessage>, ShieldHttpHandlerOptions)
Creates the handler with explicit replay and routing options.
public ShieldDelegatingHandler(Shield<HttpResponseMessage> shield, ShieldHttpHandlerOptions options)
Parameters
shieldShield<HttpResponseMessage>optionsShieldHttpHandlerOptions
ShieldDelegatingHandler(Func<HttpRequestMessage, Shield<HttpResponseMessage>>)
Creates the handler with a shield selected once for each request.
public ShieldDelegatingHandler(Func<HttpRequestMessage, Shield<HttpResponseMessage>> shieldSelector)
Parameters
shieldSelectorFunc<HttpRequestMessage, Shield<HttpResponseMessage>>
ShieldDelegatingHandler(Func<HttpRequestMessage, Shield<HttpResponseMessage>>, ShieldHttpHandlerOptions)
Creates the handler with per-request shield selection and explicit replay options.
public ShieldDelegatingHandler(Func<HttpRequestMessage, Shield<HttpResponseMessage>> shieldSelector, ShieldHttpHandlerOptions options)
Parameters
shieldSelectorFunc<HttpRequestMessage, Shield<HttpResponseMessage>>optionsShieldHttpHandlerOptions
Methods
Dispose(bool)
protected override void Dispose(bool disposing)
Parameters
disposingbool
SendAsync(HttpRequestMessage, CancellationToken)
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
Parameters
requestHttpRequestMessagecancellationTokenCancellationToken