Table of Contents

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

ApizrProperOptions

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 ApizrDuplicateStrategy

The duplicate strategy if there's another one already (default: Merge)

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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 factory

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

The method called to refresh the token

Returns

IApizrProperOptionsBuilder

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 factory

getTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>

The get only token expression

Returns

IApizrProperOptionsBuilder

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 factory

getTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>

The get token expression

setTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>

The set token expression

Returns

IApizrProperOptionsBuilder

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 factory

getTokenExpression 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

IApizrProperOptionsBuilder

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 factory

tokenPropertyExpression Expression<Func<TSettingsService, string>>

The token property to get from and set to

Returns

IApizrProperOptionsBuilder

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 factory

tokenPropertyExpression Expression<Func<TAuthService, string>>

The token property to get from and set to

refreshTokenExpression Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>

Returns

IApizrProperOptionsBuilder

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 TTokenService

A TTokenService instance

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

The method called to refresh the token

Returns

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

getTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>

The get only token expression

Returns

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

getTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>

The get token expression

setTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>

The set token expression

Returns

IApizrProperOptionsBuilder

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 TAuthService

A TAuthService instance

getTokenExpression 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

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

tokenPropertyExpression Expression<Func<TSettingsService, string>>

The token property to get from and set to

Returns

IApizrProperOptionsBuilder

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 TAuthService

A TAuthService instance

tokenPropertyExpression Expression<Func<TAuthService, string>>

The token property to get from and set to

refreshTokenExpression Expression<Func<TAuthService, HttpRequestMessage, string, CancellationToken, Task<string>>>

Returns

IApizrProperOptionsBuilder

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 factory

getTokenExpression 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 factory

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

The method called to refresh the token

Returns

IApizrProperOptionsBuilder

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 factory

tokenPropertyExpression Expression<Func<TSettingsService, string>>

The token property to get from and set to

tokenServiceFactory Func<TTokenService>

A TTokenService instance factory

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

Returns

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

getTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, CancellationToken, Task<string>>>

The get token expression

setTokenExpression Expression<Func<TSettingsService, HttpRequestMessage, string, CancellationToken, Task>>

The set token expression

tokenService TTokenService

A TTokenService instance

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

The method called to refresh the token

Returns

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

tokenPropertyExpression Expression<Func<TSettingsService, string>>

The token property to get from and set to

tokenService TTokenService

A TTokenService instance

refreshTokenExpression Expression<Func<TTokenService, HttpRequestMessage, string, CancellationToken, Task<string>>>

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 string

Your web api base address

strategy ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 Uri

Your web api base address

strategy ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 string

Your web api base path

strategy ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Replace)

Returns

IApizrProperOptionsBuilder

WithCaching(CacheMode, TimeSpan?, bool)

Cache data.

public IApizrProperOptionsBuilder WithCaching(CacheMode mode = CacheMode.FetchOrGet, TimeSpan? lifeSpan = null, bool shouldInvalidateOnError = false)

Parameters

mode CacheMode

FetchOrGet 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 bool

Should invalidate on error (Default: false)

Returns

IApizrProperOptionsBuilder

WithConfiguration(IConfiguration)

Set options from configuration

public IApizrProperOptionsBuilder WithConfiguration(IConfiguration configuration)

Parameters

configuration IConfiguration

The configuration to set options from

Returns

IApizrProperOptionsBuilder

WithConfiguration(IConfigurationSection)

Set options from a specific configuration section

public IApizrProperOptionsBuilder WithConfiguration(IConfigurationSection configurationSection)

Parameters

configurationSection IConfigurationSection

The configuration section to set options from

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Add)

Returns

IApizrProperOptionsBuilder

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 THandler

A delegating handler

strategy ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Add)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

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 THandler

The exception handler called back and returning handled boolean flag Task

letThrowOnHandledException bool

Let throw potential exception even if it's handled (default: true)

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another callback already (default: Replace)

Returns

IApizrProperOptionsBuilder

Type Parameters

THandler

WithHandlerParameter(string, object)

Set some parameters passed through all delegating handlers

public IApizrProperOptionsBuilder WithHandlerParameter(string key, object value)

Parameters

key string

The parameter's key

value object

The parameter's value

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Add)

mode ApizrRegistrationMode

Set headers right the way or store it for further attribute key match use (default: Set)

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's another one already (default: Add)

scope ApizrLifetimeScope

Tells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)

mode ApizrRegistrationMode

Set headers right the way or store it for further attribute key match use (default: Set)

Returns

IApizrProperOptionsBuilder

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 factory

headerProperties Expression<Func<TSettingsService, string>>[]

The header properties to get from

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another one already (default: Add)

scope ApizrLifetimeScope

Tells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)

mode ApizrRegistrationMode

Set headers right the way or store it for further attribute key match use (default: Set)

Returns

IApizrProperOptionsBuilder

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 TSettingsService

A TSettingsService instance

headerProperties Expression<Func<TSettingsService, string>>[]

The header properties to get from

strategy ApizrDuplicateStrategy

The duplicate strategy if there's another one already (default: Add)

scope ApizrLifetimeScope

Tells Apizr if you want to refresh or not headers values at request time (default: Api = no refresh)

mode ApizrRegistrationMode

Set headers right the way or store it for further attribute key match use (default: Set)

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

WithHttpClientHandler(HttpClientHandler)

Provide a custom HttpClientHandler

public IApizrProperOptionsBuilder WithHttpClientHandler(HttpClientHandler httpClientHandler)

Parameters

httpClientHandler HttpClientHandler

An HttpClientHandler instance

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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 THandler

A http message handler

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other names already (default: Add)

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other names already (default: Add)

Returns

IApizrProperOptionsBuilder

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 HttpTracerMode
trafficVerbosity HttpMessageParts

Http traffic tracing verbosity (default: All)

logLevels LogLevel[]

Log levels to apply while writing (default: Information)

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

WithOperationTimeout(Func<TimeSpan>)

Set a timeout to the operation (overall request tries)

public IApizrProperOptionsBuilder WithOperationTimeout(Func<TimeSpan> timeoutFactory)

Parameters

timeoutFactory Func<TimeSpan>

The operation timeout factory

Returns

IApizrProperOptionsBuilder

WithOperationTimeout(TimeSpan)

Set a timeout to the operation (overall request tries)

public IApizrProperOptionsBuilder WithOperationTimeout(TimeSpan timeout)

Parameters

timeout TimeSpan

The operation timeout

Returns

IApizrProperOptionsBuilder

WithRequestOptions(string, Action<IApizrRequestOptionsBuilder>, ApizrDuplicateStrategy)

Configure options for specific requests

public IApizrProperOptionsBuilder WithRequestOptions(string requestName, Action<IApizrRequestOptionsBuilder> optionsBuilder, ApizrDuplicateStrategy duplicateStrategy = ApizrDuplicateStrategy.Add)

Parameters

requestName string

The name of the request to configure

optionsBuilder Action<IApizrRequestOptionsBuilder>

The configuration builder

duplicateStrategy ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Add)

Returns

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other already (default: Add)

Returns

IApizrProperOptionsBuilder

WithRequestTimeout(Func<TimeSpan>)

Set a timeout to the request (each request try)

public IApizrProperOptionsBuilder WithRequestTimeout(Func<TimeSpan> timeoutFactory)

Parameters

timeoutFactory Func<TimeSpan>

The request timeout factory

Returns

IApizrProperOptionsBuilder

WithRequestTimeout(TimeSpan)

Set a timeout to the request (each request try)

public IApizrProperOptionsBuilder WithRequestTimeout(TimeSpan timeout)

Parameters

timeout TimeSpan

The request timeout

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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 ApizrDuplicateStrategy

The duplicate strategy if there's any other names already (default: Add)

Returns

IApizrProperOptionsBuilder

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

IApizrProperOptionsBuilder

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 TValue

The resilience property's value

Returns

IApizrProperOptionsBuilder

Type Parameters

TValue