Added X509Certificate2Filename (#27)

This commit is contained in:
Stef Heyenrath
2017-05-16 20:20:55 +02:00
parent 961e8b555f
commit 360a1227e4
17 changed files with 122 additions and 65 deletions

View File

@@ -34,6 +34,11 @@ namespace WireMock.ResponseBuilders
/// </summary>
public string ProxyUrl { get; private set; }
/// <summary>
/// The client X509Certificate2Filename to use.
/// </summary>
public string X509Certificate2Filename { get; private set; } = null;
/// <summary>
/// Gets the response message.
/// </summary>
@@ -190,7 +195,7 @@ namespace WireMock.ResponseBuilders
/// <param name="bodyAsbase64">The body asbase64.</param>
/// <param name="encoding">The Encoding.</param>
/// <returns>A <see cref="IResponseBuilder"/>.</returns>
public IResponseBuilder WithBodyAsBase64([NotNull] string bodyAsbase64, Encoding encoding = null)
public IResponseBuilder WithBodyAsBase64(string bodyAsbase64, Encoding encoding = null)
{
Check.NotNull(bodyAsbase64, nameof(bodyAsbase64));
@@ -237,7 +242,7 @@ namespace WireMock.ResponseBuilders
}
/// <summary>
/// From Proxy URL.
/// With Proxy URL.
/// </summary>
/// <param name="proxyUrl">The proxy url.</param>
/// <returns>A <see cref="IResponseBuilder"/>.</returns>
@@ -250,6 +255,22 @@ namespace WireMock.ResponseBuilders
return this;
}
/// <summary>
/// With Proxy URL.
/// </summary>
/// <param name="proxyUrl">The proxy url.</param>
/// <param name="clientX509Certificate2Filename">The X509Certificate2 file to use for client authentication.</param>
/// <returns>A <see cref="IResponseBuilder"/>.</returns>
public IResponseBuilder WithProxy(string proxyUrl, string clientX509Certificate2Filename)
{
Check.NotEmpty(proxyUrl, nameof(proxyUrl));
Check.NotEmpty(clientX509Certificate2Filename, nameof(clientX509Certificate2Filename));
ProxyUrl = proxyUrl;
X509Certificate2Filename = clientX509Certificate2Filename;
return this;
}
/// <summary>
/// The provide response.
/// </summary>
@@ -264,9 +285,10 @@ namespace WireMock.ResponseBuilders
if (ProxyUrl != null)
{
return await HttpClientHelper.SendAsync(requestMessage, ProxyUrl);
return await HttpClientHelper.SendAsync(requestMessage, ProxyUrl, X509Certificate2Filename);
}
else if (UseTransformer)
if (UseTransformer)
{
return ResponseMessageTransformer.Transform(requestMessage, ResponseMessage);
}