Class MailtrapClientFactory
- Namespace
- Mailtrap
- Assembly
- Mailtrap.dll
Default IMailtrapClientFactory implementation.
public sealed class MailtrapClientFactory : IMailtrapClientFactory, IDisposable
- Inheritance
-
MailtrapClientFactory
- Implements
Remarks
IMailtrapClient instances, produced by the factory, can be used in any manner, since they are designed to use unit-of-work pattern under the hood, ensuring proper disposal of resources, as soon as any operation is completed.
Constructors
MailtrapClientFactory(MailtrapClientOptions, Action<IHttpClientBuilder>?)
Constructor to create a new instance of MailtrapClientFactory
with provided configuration
and optional HttpClient configuration delegate.
public MailtrapClientFactory(MailtrapClientOptions configuration, Action<IHttpClientBuilder>? configure = null)
Parameters
configuration
MailtrapClientOptionsOptions instance to configure factory.
configure
Action<IHttpClientBuilder>Optional delegate to configure underlying HttpClient.
Exceptions
- ArgumentNullException
When
configuration
is null.
MailtrapClientFactory(MailtrapClientOptions, HttpClient)
Constructor to create a new instance of MailtrapClientFactory
using provided configuration
and preconfigured external HttpClient instance.
public MailtrapClientFactory(MailtrapClientOptions configuration, HttpClient httpClient)
Parameters
configuration
MailtrapClientOptionsOptions instance to configure factory.
httpClient
HttpClientExternal instance to use within factory.
Remarks
Factory won't dispose captured httpClient
instance upon disposal,
so it is responsibility of the caller to manage its lifecycle properly.
Exceptions
- ArgumentNullException
When
configuration
orhttpClient
is null.
MailtrapClientFactory(string, Action<IHttpClientBuilder>?)
Shortcut constructor to create a new instance of MailtrapClientFactory
using provided apiToken
and optional HttpClient configuration delegate.
All other configuration settings will be set to default values.
public MailtrapClientFactory(string apiToken, Action<IHttpClientBuilder>? configure = null)
Parameters
apiToken
stringAPI authentication token.
configure
Action<IHttpClientBuilder>Optional delegate to configure underlying HttpClient.
Exceptions
MailtrapClientFactory(string, HttpClient)
Shortcut constructor to create a new instance of MailtrapClientFactory
using provided apiToken
and preconfigured external HttpClient instance.
All other configuration settings will be set to default values.
public MailtrapClientFactory(string apiToken, HttpClient httpClient)
Parameters
apiToken
stringAPI authentication token.
httpClient
HttpClientExternal HttpClient instance to use within factory.
Remarks
Factory won't dispose captured httpClient
instance upon disposal,
so it is responsibility of the caller to manage its lifecycle properly.
Exceptions
Methods
CreateClient()
Creates new instance of IMailtrapClient.
public IMailtrapClient CreateClient()
Returns
- IMailtrapClient
New IMailtrapClient instance.
Remarks
Each call to this method is guaranteed to return a new instance of IMailtrapClient.
Exceptions
- ObjectDisposedException
When factory was disposed.
Dispose()
Disposes internal IServiceProvider instance, that is used to spawn IMailtrapClient implementation instances.
public void Dispose()