HandlebarsRegistrationCallback example

This commit is contained in:
Stef Heyenrath
2019-08-25 18:40:54 +02:00
parent ccb2c51a39
commit d885de1276
7 changed files with 36 additions and 0 deletions

View File

@@ -1,6 +1,9 @@
using Newtonsoft.Json;
using HandlebarsDotNet;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
using WireMock.Logging;
using WireMock.Matchers;
@@ -11,6 +14,23 @@ using WireMock.Settings;
namespace WireMock.Net.ConsoleApplication
{
public interface IHandleBarTransformer
{
string Name { get; }
void Render(TextWriter textWriter, dynamic context, object[] arguments);
}
public class CustomNameTransformer : IHandleBarTransformer
{
public string Name => "CustomName";
public void Render(TextWriter writer, dynamic context, object[] parameters)
{
/* Handlebar logic to render */
}
}
public static class MainApp
{
public static void Run()
@@ -33,6 +53,12 @@ namespace WireMock.Net.ConsoleApplication
PostWireMockMiddlewareInit = app => { System.Console.WriteLine($"PostWireMockMiddlewareInit : {app.GetType()}"); },
Logger = new WireMockConsoleLogger(),
HandlebarsRegistrationCallback = (handlebarsContext, fileSystemHandler) =>
{
var transformer = new CustomNameTransformer();
handlebarsContext.RegisterHelper(transformer.Name, transformer.Render);
}
// Uncomment below if you want to use the CustomFileSystemFileHandler
// FileSystemHandler = new CustomFileSystemFileHandler()
});