Transform body as file (#388)

* .

* fix
This commit is contained in:
Stef Heyenrath
2019-12-06 06:52:08 +01:00
committed by GitHub
parent a47750c058
commit 8bafd6a1ba
12 changed files with 117 additions and 33 deletions

View File

@@ -11,6 +11,6 @@
/// <returns>
/// The <see cref="IResponseBuilder"/>.
/// </returns>
IResponseBuilder WithTransformer();
IResponseBuilder WithTransformer(bool transformContentFromBodyAsFile = false);
}
}

View File

@@ -33,6 +33,11 @@ namespace WireMock.ResponseBuilders
/// </summary>
public bool UseTransformer { get; private set; }
/// <summary>
/// Gets a value indicating whether to use the Handlerbars transformer for the content from the referenced BodyAsFile.
/// </summary>
public bool UseTransformerForBodyAsFile { get; private set; }
/// <summary>
/// The Proxy URL to use.
/// </summary>
@@ -311,10 +316,11 @@ namespace WireMock.ResponseBuilders
return this;
}
/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer"/>
public IResponseBuilder WithTransformer()
/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer(bool)"/>
public IResponseBuilder WithTransformer(bool transformContentFromBodyAsFile = false)
{
UseTransformer = true;
UseTransformerForBodyAsFile = transformContentFromBodyAsFile;
return this;
}
@@ -414,7 +420,7 @@ namespace WireMock.ResponseBuilders
{
var factory = new HandlebarsContextFactory(settings.FileSystemHandler, settings.HandlebarsRegistrationCallback);
var responseMessageTransformer = new ResponseMessageTransformer(factory);
return responseMessageTransformer.Transform(requestMessage, ResponseMessage);
return responseMessageTransformer.Transform(requestMessage, ResponseMessage, UseTransformerForBodyAsFile);
}
if (!UseTransformer && ResponseMessage.BodyData?.BodyAsFileIsCached == true)