Class KevlarHttpRequestExtensions
Configures Kevlar behavior on individual HTTP requests.
public static class KevlarHttpRequestExtensions
- Inheritance
-
KevlarHttpRequestExtensions
- Inherited Members
Methods
AllowReplay(HttpRequestMessage)
Permits retries, hedges, and other additional attempts for this request even though its HTTP method is not replay-safe. Content must still be replayable.
public static HttpRequestMessage AllowReplay(this HttpRequestMessage request)
Parameters
requestHttpRequestMessage
Returns
Remarks
Opt in only when the server treats the operation as idempotent, for example because the request carries an idempotency key that the server deduplicates. Clones preserve headers, so every attempt sends the same key.
DisableReplay(HttpRequestMessage)
Suppresses retries, hedges, and other additional attempts for this request.
public static HttpRequestMessage DisableReplay(this HttpRequestMessage request)
Parameters
requestHttpRequestMessage
Returns
WithKevlarCancellationToken(HttpRequestMessage, CancellationToken)
Links an additional cancellation token to this request's handler execution.
public static HttpRequestMessage WithKevlarCancellationToken(this HttpRequestMessage request, CancellationToken cancellationToken)
Parameters
requestHttpRequestMessagecancellationTokenCancellationToken
Returns
WithKevlarProperties(HttpRequestMessage, Action<KevlarProperties>)
Adds an initializer for properties visible to strategies and callbacks.
public static HttpRequestMessage WithKevlarProperties(this HttpRequestMessage request, Action<KevlarProperties> configure)
Parameters
requestHttpRequestMessageconfigureAction<KevlarProperties>
Returns
WithShield(HttpRequestMessage, Shield<HttpResponseMessage>)
Uses shield instead of the client's default for this request.
public static HttpRequestMessage WithShield(this HttpRequestMessage request, Shield<HttpResponseMessage> shield)
Parameters
requestHttpRequestMessageshieldShield<HttpResponseMessage>
Returns
WithShieldName(HttpRequestMessage, string)
Sets the logical name consumed by a per-request shield selector.
public static HttpRequestMessage WithShieldName(this HttpRequestMessage request, string shieldName)
Parameters
requestHttpRequestMessageshieldNamestring