Class ApizrProperOptionsBuilder
- Namespace
- Apizr.Configuring.Proper
- Assembly
- Apizr.dll
Builder options available at proper level for static registrations
public class ApizrProperOptionsBuilder : IApizrProperOptionsBuilder, IApizrProperOptionsBuilder<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrProperOptionsBuilderBase<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrGlobalProperOptionsBuilderBase<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrProperOptionsBuilderBase, IApizrGlobalProperOptionsBuilderBase, IApizrSharedRegistrationOptionsBuilder<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrSharedRegistrationOptionsBuilderBase<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrGlobalSharedRegistrationOptionsBuilderBase<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrGlobalSharedOptionsBuilderBase<IApizrProperOptions, IApizrProperOptionsBuilder>, IApizrSharedRegistrationOptionsBuilder, IApizrSharedRegistrationOptionsBuilderBase, IApizrGlobalSharedRegistrationOptionsBuilderBase, IApizrGlobalSharedOptionsBuilderBase
- Inheritance
-
ApizrProperOptionsBuilder
- Implements
- Inherited Members
- Extension Methods
Fields
Options
The proper options
protected readonly ApizrProperOptions Options
Field Value
Methods
ConfigureHttpClient(Action<HttpClient>, ApizrDuplicateStrategy)
Configure HttpClient
public IApizrProperOptionsBuilder ConfigureHttpClient(Action<HttpClient> configureHttpClient, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Merge)
Parameters
configureHttpClient
Action<HttpClient>The configuration builder
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another one already (default: Merge)
Returns
WithAuthenticationHandler(Func<HttpRequestMessage, string, CancellationToken, Task<string>>)
Provide a method to refresh the authorization token when needed
public IApizrProperOptionsBuilder WithAuthenticationHandler(Func<HttpRequestMessage, string, CancellationToken, Task<string>> refreshTokenFactory)
Parameters
refreshTokenFactory
Func<HttpRequestMessage, string, CancellationToken, Task<string>>Refresh token method called when expired or empty
Returns
WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>>)
Provide methods to only get the authorization constant token when needed
public IApizrProperOptionsBuilder WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>> getTokenFactory)
Parameters
getTokenFactory
Func<HttpRequestMessage, CancellationToken, Task<string>>The method called to get local constant token
Returns
WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>>, Func<HttpRequestMessage, string, CancellationToken, Task>)
Provide methods to get and set the authorization token when needed
public IApizrProperOptionsBuilder WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>> getTokenFactory, Func<HttpRequestMessage, string, CancellationToken, Task> setTokenFactory)
Parameters
getTokenFactory
Func<HttpRequestMessage, CancellationToken, Task<string>>The method called to get local token
setTokenFactory
Func<HttpRequestMessage, string, CancellationToken, Task>The method called to set local token
Returns
WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>>, Func<HttpRequestMessage, string, CancellationToken, Task>, Func<HttpRequestMessage, string, CancellationToken, Task<string>>)
Provide methods to get, set and refresh the authorization token when needed
public IApizrProperOptionsBuilder WithAuthenticationHandler(Func<HttpRequestMessage, CancellationToken, Task<string>> getTokenFactory, Func<HttpRequestMessage, string, CancellationToken, Task> setTokenFactory, Func<HttpRequestMessage, string, CancellationToken, Task<string>> refreshTokenFactory)
Parameters
getTokenFactory
Func<HttpRequestMessage, CancellationToken, Task<string>>The method called to get local token
setTokenFactory
Func<HttpRequestMessage, string, CancellationToken, Task>The method called to get local token
refreshTokenFactory
Func<HttpRequestMessage, string, CancellationToken, Task<string>>Refresh token method called when expired or empty
Returns
WithAuthenticationHandler<TAuthenticationHandler>(Func<IApizrManagerOptionsBase, TAuthenticationHandler>)
Provide your own AuthenticationHandlerBase implementation factory
public IApizrProperOptionsBuilder WithAuthenticationHandler<TAuthenticationHandler>(Func<IApizrManagerOptionsBase, TAuthenticationHandler> authenticationHandlerFactory) where TAuthenticationHandler : AuthenticationHandlerBase
Parameters
authenticationHandlerFactory
Func<IApizrManagerOptionsBase, TAuthenticationHandler>A
TAuthenticationHandler
instance factory
Returns
Type Parameters
TAuthenticationHandler
Your AuthenticationHandlerBase implementation
WithAuthenticationHandler<TTokenService>(Func<TTokenService>, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TTokenService>(Func<TTokenService> tokenServiceFactory, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
tokenServiceFactory
Func<TTokenService>A
TTokenService
instance factoryrefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TTokenService
Your token management service (refreshing token)
WithAuthenticationHandler<TSettingsService>(Func<TSettingsService>, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>)
Provide your own settings management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factorygetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get only token expression
Returns
Type Parameters
TSettingsService
Your settings management service (getting constant token)
WithAuthenticationHandler<TSettingsService>(Func<TSettingsService>, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>)
Provide your own settings management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factorygetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
WithAuthenticationHandler<TAuthService>(Func<TAuthService>, Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own auth management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TAuthService>(Func<TAuthService> authServiceFactory, Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
authServiceFactory
Func<TAuthService>A
TAuthService
instance factorygetTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
refreshTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TAuthService
Your auth management service (saving/getting/refreshing token)
WithAuthenticationHandler<TSettingsService>(Func<TSettingsService>, Expression<Func<TSettingsService, string>>)
Provide your own settings management service with its token source
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, string>> tokenPropertyExpression)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factorytokenPropertyExpression
Expression<Func<TSettingsService, string>>The token property to get from and set to
Returns
Type Parameters
TSettingsService
Your settings management service (getting token)
WithAuthenticationHandler<TAuthService>(Func<TAuthService>, Expression<Func<TAuthService, string>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own auth management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TAuthService>(Func<TAuthService> authServiceFactory, Expression<Func<TAuthService, string>> tokenPropertyExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
authServiceFactory
Func<TAuthService>A
TAuthService
instance factorytokenPropertyExpression
Expression<Func<TAuthService, string>>The token property to get from and set to
refreshTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>
Returns
Type Parameters
TAuthService
Your auth management service (saving/getting/refreshing token)
WithAuthenticationHandler<TTokenService>(TTokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TTokenService>(TTokenService tokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
tokenService
TTokenServiceA
TTokenService
instancerefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TTokenService
Your token management service (refreshing token)
WithAuthenticationHandler<TSettingsService>(TSettingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>)
Provide your own settings management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(TSettingsService settingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instancegetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get only token expression
Returns
Type Parameters
TSettingsService
Your settings management service (getting constant token)
WithAuthenticationHandler<TSettingsService>(TSettingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>)
Provide your own settings management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(TSettingsService settingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instancegetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
WithAuthenticationHandler<TAuthService>(TAuthService, Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own settings management and token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TAuthService>(TAuthService authService, Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
authService
TAuthServiceA
TAuthService
instancegetTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
refreshTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TAuthService
Your auth management service (saving/getting/refreshing token)
WithAuthenticationHandler<TSettingsService>(TSettingsService, Expression<Func<TSettingsService, string>>)
Provide your own settings management service with its token source
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService>(TSettingsService settingsService, Expression<Func<TSettingsService, string>> tokenPropertyExpression)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instancetokenPropertyExpression
Expression<Func<TSettingsService, string>>The token property to get from and set to
Returns
Type Parameters
TSettingsService
Your settings management service (getting token)
WithAuthenticationHandler<TAuthService>(TAuthService, Expression<Func<TAuthService, string>>, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own auth management service
public IApizrProperOptionsBuilder WithAuthenticationHandler<TAuthService>(TAuthService authService, Expression<Func<TAuthService, string>> tokenPropertyExpression, Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
authService
TAuthServiceA
TAuthService
instancetokenPropertyExpression
Expression<Func<TAuthService, string>>The token property to get from and set to
refreshTokenExpression
Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>
Returns
Type Parameters
TAuthService
Your auth management service (saving/getting/refreshing token)
WithAuthenticationHandler<TSettingsService, TTokenService>(Func<TSettingsService>, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>, Func<TTokenService>, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own settings management and token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService, TTokenService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression, Func<TTokenService> tokenServiceFactory, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factorygetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
tokenServiceFactory
Func<TTokenService>A
TTokenService
instance factoryrefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
TTokenService
Your token management service (refreshing token)
WithAuthenticationHandler<TSettingsService, TTokenService>(Func<TSettingsService>, Expression<Func<TSettingsService, string>>, Func<TTokenService>, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own settings management and token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService, TTokenService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, string>> tokenPropertyExpression, Func<TTokenService> tokenServiceFactory, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factorytokenPropertyExpression
Expression<Func<TSettingsService, string>>The token property to get from and set to
tokenServiceFactory
Func<TTokenService>A
TTokenService
instance factoryrefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
TTokenService
Your token management service (refreshing token)
WithAuthenticationHandler<TSettingsService, TTokenService>(TSettingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>, TTokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own settings management and token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService, TTokenService>(TSettingsService settingsService, Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>> getTokenExpression, Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>> setTokenExpression, TTokenService tokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instancegetTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>The get token expression
setTokenExpression
Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>The set token expression
tokenService
TTokenServiceA
TTokenService
instancerefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>The method called to refresh the token
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
TTokenService
Your token management service (refreshing token)
WithAuthenticationHandler<TSettingsService, TTokenService>(TSettingsService, Expression<Func<TSettingsService, string>>, TTokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>)
Provide your own settings management and token management services
public IApizrProperOptionsBuilder WithAuthenticationHandler<TSettingsService, TTokenService>(TSettingsService settingsService, Expression<Func<TSettingsService, string>> tokenPropertyExpression, TTokenService tokenService, Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>> refreshTokenExpression)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instancetokenPropertyExpression
Expression<Func<TSettingsService, string>>The token property to get from and set to
tokenService
TTokenServiceA
TTokenService
instancerefreshTokenExpression
Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>
Returns
Type Parameters
TSettingsService
Your settings management service (saving/getting token)
TTokenService
Your token management service (refreshing token)
WithBaseAddress(Func<string>, ApizrDuplicateStrategy)
Define your web api base address (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBaseAddress(Func<string> baseAddressFactory, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
baseAddressFactory
Func<string>Your web api base address factory
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithBaseAddress(Func<Uri>, ApizrDuplicateStrategy)
Define your web api base address (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBaseAddress(Func<Uri> baseAddressFactory, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
baseAddressFactory
Func<Uri>Your web api base address factory
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithBaseAddress(string, ApizrDuplicateStrategy)
Define your web api base address (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBaseAddress(string baseAddress, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
baseAddress
stringYour web api base address
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithBaseAddress(Uri, ApizrDuplicateStrategy)
Define your web api base address (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBaseAddress(Uri baseAddress, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
baseAddress
UriYour web api base address
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithBasePath(Func<string>, ApizrDuplicateStrategy)
Define your web api base path (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBasePath(Func<string> basePathFactory, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
basePathFactory
Func<string>Your web api base path factory
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithBasePath(string, ApizrDuplicateStrategy)
Define your web api base path (could be defined with WebApiAttribute)
public IApizrProperOptionsBuilder WithBasePath(string basePath, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
basePath
stringYour web api base path
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Replace)
Returns
WithCaching(CacheMode, TimeSpan?, bool)
Cache data.
public IApizrProperOptionsBuilder WithCaching(CacheMode mode = CacheMode.FetchOrGet, TimeSpan? lifeSpan = null, bool shouldInvalidateOnError = false)
Parameters
mode
CacheModeFetchOrGet returns fresh data when request succeed otherwise cached one, where GetOrFetch returns cached data if we get some otherwise fresh one
lifeSpan
TimeSpan?This specific caching lifetime (Default: null = cache handler lifetime
shouldInvalidateOnError
boolShould invalidate on error (Default: false)
Returns
WithConfiguration(IConfiguration)
Set options from configuration
public IApizrProperOptionsBuilder WithConfiguration(IConfiguration configuration)
Parameters
configuration
IConfigurationThe configuration to set options from
Returns
WithConfiguration(IConfigurationSection)
Set options from a specific configuration section
public IApizrProperOptionsBuilder WithConfiguration(IConfigurationSection configurationSection)
Parameters
configurationSection
IConfigurationSectionThe configuration section to set options from
Returns
WithDelegatingHandler<THandler>(Func<IApizrManagerOptionsBase, THandler>, ApizrDuplicateStrategy)
Add a custom delegating handler inheriting from DelegatingHandler (serial call)
public IApizrProperOptionsBuilder WithDelegatingHandler<THandler>(Func<IApizrManagerOptionsBase, THandler> delegatingHandlerFactory, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add) where THandler : DelegatingHandler
Parameters
delegatingHandlerFactory
Func<IApizrManagerOptionsBase, THandler>A delegating handler factory
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Add)
Returns
Type Parameters
THandler
WithDelegatingHandler<THandler>(THandler, ApizrDuplicateStrategy)
Add a custom delegating handler inheriting from DelegatingHandler (serial call)
public IApizrProperOptionsBuilder WithDelegatingHandler<THandler>(THandler delegatingHandler, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add) where THandler : DelegatingHandler
Parameters
delegatingHandler
THandlerA delegating handler
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Add)
Returns
Type Parameters
THandler
WithExCatching(Action<ApizrException>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
[Obsolete("Catching an exception by an Action is now replaced by a Func returning a handled boolean flag")]
public IApizrProperOptionsBuilder WithExCatching(Action<ApizrException> onException, bool letThrowOnException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Action<ApizrException>The exception callback
letThrowOnException
boolLet throw potential exception (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
WithExCatching(Func<ApizrException, bool>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching(Func<ApizrException, bool> onException, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Func<ApizrException, bool>The exception callback returning handled boolean flag
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
WithExCatching(Func<ApizrException, Task<bool>>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching(Func<ApizrException, Task<bool>> onException, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Func<ApizrException, Task<bool>>The exception callback returning handled boolean flag Task
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
WithExCatching<TResult>(Action<ApizrException<TResult>>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
[Obsolete("Catching an exception by an Action is now replaced by a Func returning a handled boolean flag")]
public IApizrProperOptionsBuilder WithExCatching<TResult>(Action<ApizrException<TResult>> onException, bool letThrowOnException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Action<ApizrException<TResult>>The exception callback
letThrowOnException
boolLet throw potential exception (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
Type Parameters
TResult
WithExCatching<TResult>(Func<ApizrException<TResult>, bool>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching<TResult>(Func<ApizrException<TResult>, bool> onException, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Func<ApizrException<TResult>, bool>The exception callback returning handled boolean flag
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
Type Parameters
TResult
WithExCatching<TResult>(Func<ApizrException<TResult>, Task<bool>>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching<TResult>(Func<ApizrException<TResult>, Task<bool>> onException, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace)
Parameters
onException
Func<ApizrException<TResult>, Task<bool>>The exception callback returning a handled boolean flag Task
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
Type Parameters
TResult
WithExCatching<THandler>(Func<THandler>, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching<THandler>(Func<THandler> exceptionHandlerFactory, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace) where THandler : IApizrExceptionHandler
Parameters
exceptionHandlerFactory
Func<THandler>The exception handler called back and returning handled boolean flag Task
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
Type Parameters
THandler
WithExCatching<THandler>(THandler, bool, ApizrDuplicateStrategy)
Catch potential exceptions
public IApizrProperOptionsBuilder WithExCatching<THandler>(THandler exceptionHandler, bool letThrowOnHandledException = true, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Replace) where THandler : IApizrExceptionHandler
Parameters
exceptionHandler
THandlerThe exception handler called back and returning handled boolean flag Task
letThrowOnHandledException
boolLet throw potential exception even if it's handled (default: true)
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another callback already (default: Replace)
Returns
Type Parameters
THandler
WithHandlerParameter(string, object)
Set some parameters passed through all delegating handlers
public IApizrProperOptionsBuilder WithHandlerParameter(string key, object value)
Parameters
Returns
WithHeaders(IList<string>, ApizrDuplicateStrategy, ApizrRegistrationMode)
Add some headers to the request
public IApizrProperOptionsBuilder WithHeaders(IList<string> headers, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add, ApizrRegistrationMode mode = ApizrRegistrationMode.Set)
Parameters
headers
IList<string>Headers to add to the request
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Add)
mode
ApizrRegistrationModeSet headers right the way or store it for further attribute key match use (default: Set)
Returns
WithHeaders(Func<IList<string>>, ApizrDuplicateStrategy, ApizrLifetimeScope, ApizrRegistrationMode)
Add some headers to the request
public IApizrProperOptionsBuilder WithHeaders(Func<IList<string>> headersFactory, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add, ApizrLifetimeScope scope = ApizrLifetimeScope.Api, ApizrRegistrationMode mode = ApizrRegistrationMode.Set)
Parameters
headersFactory
Func<IList<string>>Headers factory
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another one already (default: Add)
scope
ApizrLifetimeScopeTells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)
mode
ApizrRegistrationModeSet headers right the way or store it for further attribute key match use (default: Set)
Returns
WithHeaders<TSettingsService>(Func<TSettingsService>, Expression<Func<TSettingsService, string>>[], ApizrDuplicateStrategy, ApizrLifetimeScope, ApizrRegistrationMode)
Add some headers to the request loaded from service properties
public IApizrProperOptionsBuilder WithHeaders<TSettingsService>(Func<TSettingsService> settingsServiceFactory, Expression<Func<TSettingsService, string>>[] headerProperties, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add, ApizrLifetimeScope scope = ApizrLifetimeScope.Api, ApizrRegistrationMode mode = ApizrRegistrationMode.Set)
Parameters
settingsServiceFactory
Func<TSettingsService>A
TSettingsService
instance factoryheaderProperties
Expression<Func<TSettingsService, string>>[]The header properties to get from
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another one already (default: Add)
scope
ApizrLifetimeScopeTells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)
mode
ApizrRegistrationModeSet headers right the way or store it for further attribute key match use (default: Set)
Returns
Type Parameters
TSettingsService
Your settings management service (getting headers)
WithHeaders<TSettingsService>(TSettingsService, Expression<Func<TSettingsService, string>>[], ApizrDuplicateStrategy, ApizrLifetimeScope, ApizrRegistrationMode)
Add some headers to the request loaded from service properties
public IApizrProperOptionsBuilder WithHeaders<TSettingsService>(TSettingsService settingsService, Expression<Func<TSettingsService, string>>[] headerProperties, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add, ApizrLifetimeScope scope = ApizrLifetimeScope.Api, ApizrRegistrationMode mode = ApizrRegistrationMode.Set)
Parameters
settingsService
TSettingsServiceA
TSettingsService
instanceheaderProperties
Expression<Func<TSettingsService, string>>[]The header properties to get from
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's another one already (default: Add)
scope
ApizrLifetimeScopeTells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)
mode
ApizrRegistrationModeSet headers right the way or store it for further attribute key match use (default: Set)
Returns
Type Parameters
TSettingsService
Your settings management service (getting headers)
WithHttpClientHandler(Func<HttpClientHandler>)
Provide a custom HttpClientHandler
public IApizrProperOptionsBuilder WithHttpClientHandler(Func<HttpClientHandler> httpClientHandlerFactory)
Parameters
httpClientHandlerFactory
Func<HttpClientHandler>An HttpClientHandler instance factory
Returns
WithHttpClientHandler(HttpClientHandler)
Provide a custom HttpClientHandler
public IApizrProperOptionsBuilder WithHttpClientHandler(HttpClientHandler httpClientHandler)
Parameters
httpClientHandler
HttpClientHandlerAn HttpClientHandler instance
Returns
WithHttpMessageHandler<THandler>(Func<IApizrManagerOptionsBase, THandler>)
Add a custom http message handler inheriting from HttpMessageHandler (last call)
public IApizrProperOptionsBuilder WithHttpMessageHandler<THandler>(Func<IApizrManagerOptionsBase, THandler> httpMessageHandlerFactory) where THandler : HttpMessageHandler
Parameters
httpMessageHandlerFactory
Func<IApizrManagerOptionsBase, THandler>A http message handler factory
Returns
Type Parameters
THandler
WithHttpMessageHandler<THandler>(THandler)
Add a custom http message handler inheriting from HttpMessageHandler (last call)
public IApizrProperOptionsBuilder WithHttpMessageHandler<THandler>(THandler httpMessageHandler) where THandler : HttpMessageHandler
Parameters
httpMessageHandler
THandlerA http message handler
Returns
Type Parameters
THandler
WithLoggedHeadersRedactionNames(IEnumerable<string>, ApizrDuplicateStrategy)
Sets the collection of HTTP headers names for which values should be redacted before logging.
public IApizrProperOptionsBuilder WithLoggedHeadersRedactionNames(IEnumerable<string> redactedLoggedHeaderNames, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add)
Parameters
redactedLoggedHeaderNames
IEnumerable<string>The collection of HTTP headers names for which values should be redacted before logging.
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other names already (default: Add)
Returns
WithLoggedHeadersRedactionRule(Func<string, bool>, ApizrDuplicateStrategy)
Sets the Func<T, TResult> which determines whether to redact the HTTP header value before logging.
public IApizrProperOptionsBuilder WithLoggedHeadersRedactionRule(Func<string, bool> shouldRedactHeaderValue, ApizrDuplicateStrategy strategy = ApizrDuplicateStrategy.Add)
Parameters
shouldRedactHeaderValue
Func<string, bool>The Func<T, TResult> which determines whether to redact the HTTP header value before logging
strategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other names already (default: Add)
Returns
WithLogging(HttpTracerMode, HttpMessageParts, params LogLevel[])
Define tracer mode, http traffic tracing verbosity and log levels (could be defined with LogAttribute)
public IApizrProperOptionsBuilder WithLogging(HttpTracerMode httpTracerMode = HttpTracerMode.Everything, HttpMessageParts trafficVerbosity = HttpMessageParts.All, params LogLevel[] logLevels)
Parameters
httpTracerMode
HttpTracerModetrafficVerbosity
HttpMessagePartsHttp traffic tracing verbosity (default: All)
logLevels
LogLevel[]Log levels to apply while writing (default: Information)
Returns
WithLogging(Func<HttpTracerMode>, Func<HttpMessageParts>, Func<LogLevel[]>)
Define tracer mode, http traffic tracing verbosity and log levels (could be defined with LogAttribute)
public IApizrProperOptionsBuilder WithLogging(Func<HttpTracerMode> httpTracerModeFactory, Func<HttpMessageParts> trafficVerbosityFactory, Func<LogLevel[]> logLevelsFactory)
Parameters
httpTracerModeFactory
Func<HttpTracerMode>Http traffic tracing mode
trafficVerbosityFactory
Func<HttpMessageParts>Http traffic tracing verbosity factory
logLevelsFactory
Func<LogLevel[]>Log levels factory
Returns
WithLogging(Func<(HttpTracerMode, HttpMessageParts, LogLevel[])>)
Define tracer mode, http traffic tracing verbosity and log levels (could be defined with LogAttribute)
public IApizrProperOptionsBuilder WithLogging(Func<(HttpTracerMode, HttpMessageParts, LogLevel[])> loggingConfigurationFactory)
Parameters
loggingConfigurationFactory
Func<(HttpTracerMode, HttpMessageParts, LogLevel[])>Logging configuration factory
Returns
WithOperationTimeout(Func<TimeSpan>)
Set a timeout to the operation (overall request tries)
public IApizrProperOptionsBuilder WithOperationTimeout(Func<TimeSpan> timeoutFactory)
Parameters
Returns
WithOperationTimeout(TimeSpan)
Set a timeout to the operation (overall request tries)
public IApizrProperOptionsBuilder WithOperationTimeout(TimeSpan timeout)
Parameters
timeout
TimeSpanThe operation timeout
Returns
WithRequestOptions(string, Action<IApizrRequestOptionsBuilder>, ApizrDuplicateStrategy)
Configure options for specific requests
public IApizrProperOptionsBuilder WithRequestOptions(string requestName, Action<IApizrRequestOptionsBuilder> optionsBuilder, ApizrDuplicateStrategy duplicateStrategy = ApizrDuplicateStrategy.Add)
Parameters
requestName
stringThe name of the request to configure
optionsBuilder
Action<IApizrRequestOptionsBuilder>The configuration builder
duplicateStrategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Add)
Returns
WithRequestOptions(string[], Action<IApizrRequestOptionsBuilder>, ApizrDuplicateStrategy)
Configure options for specific requests
public IApizrProperOptionsBuilder WithRequestOptions(string[] requestNames, Action<IApizrRequestOptionsBuilder> optionsBuilder, ApizrDuplicateStrategy duplicateStrategy = ApizrDuplicateStrategy.Add)
Parameters
requestNames
string[]The name of the requests to configure
optionsBuilder
Action<IApizrRequestOptionsBuilder>The configuration builder
duplicateStrategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other already (default: Add)
Returns
WithRequestTimeout(Func<TimeSpan>)
Set a timeout to the request (each request try)
public IApizrProperOptionsBuilder WithRequestTimeout(Func<TimeSpan> timeoutFactory)
Parameters
Returns
WithRequestTimeout(TimeSpan)
Set a timeout to the request (each request try)
public IApizrProperOptionsBuilder WithRequestTimeout(TimeSpan timeout)
Parameters
timeout
TimeSpanThe request timeout
Returns
WithResilienceContextOptions(Action<IApizrResilienceContextOptionsBuilder>)
Set some options to the resilience context
public IApizrProperOptionsBuilder WithResilienceContextOptions(Action<IApizrResilienceContextOptionsBuilder> contextOptionsBuilder)
Parameters
contextOptionsBuilder
Action<IApizrResilienceContextOptionsBuilder>The resilience context options builder
Returns
WithResiliencePipelineKeys(string[], IEnumerable<ApizrRequestMethod>, ApizrDuplicateStrategy)
Apply some resilience strategies by getting pipelines from registry with key matching.
public IApizrProperOptionsBuilder WithResiliencePipelineKeys(string[] resiliencePipelineKeys, IEnumerable<ApizrRequestMethod> methodScope = null, ApizrDuplicateStrategy duplicateStrategy = ApizrDuplicateStrategy.Add)
Parameters
resiliencePipelineKeys
string[]Resilience pipeline keys from the registry.
methodScope
IEnumerable<ApizrRequestMethod>Http or Crud methods to apply pipelines on (default: null = All)
duplicateStrategy
ApizrDuplicateStrategyThe duplicate strategy if there's any other names already (default: Add)
Returns
WithResilienceProperty<TValue>(ResiliencePropertyKey<TValue>, Func<TValue>)
Set some resilience properties to the resilience context
public IApizrProperOptionsBuilder WithResilienceProperty<TValue>(ResiliencePropertyKey<TValue> key, Func<TValue> valueFactory)
Parameters
key
ResiliencePropertyKey<TValue>The resilience property's key
valueFactory
Func<TValue>The resilience property's value factory
Returns
Type Parameters
TValue
WithResilienceProperty<TValue>(ResiliencePropertyKey<TValue>, TValue)
Set some resilience properties to the resilience context
public IApizrProperOptionsBuilder WithResilienceProperty<TValue>(ResiliencePropertyKey<TValue> key, TValue value)
Parameters
key
ResiliencePropertyKey<TValue>The resilience property's key
value
TValueThe resilience property's value
Returns
Type Parameters
TValue