Fixed TemplateRouter

master
Harald Wolff 2020-12-08 09:41:14 +01:00
parent 453ec7234b
commit 64d94daa78
2 changed files with 12 additions and 3 deletions

View File

@ -9,7 +9,8 @@ namespace ln.templates.http
public delegate void PrepareRenderContext(TemplateRouter templateRouter,TemplateDocument templateDocument, RenderContext renderContext);
public class TemplateRouter : IHttpRouter
{
ITemplateSource TemplateSource { get; }
public ITemplateSource TemplateSource { get; }
public String DefaultTemplatePath { get; set; }
public event PrepareRenderContext OnPrepareRenderContext;
@ -20,11 +21,19 @@ namespace ln.templates.http
public HttpResponse Route(HttpRoutingContext routingContext, HttpRequest httpRequest)
{
TemplateDocument document = TemplateSource.GetTemplateByPath(routingContext.Path);
string lookupPath = routingContext.Path.Length > 0 ? routingContext.Path.Substring(1) : DefaultTemplatePath;
Console.WriteLine("... {0}", lookupPath);
TemplateDocument document = TemplateSource.GetTemplateByPath(lookupPath);
if ((DefaultTemplatePath != null) && (document != null))
document = TemplateSource.GetTemplateByPath(DefaultTemplatePath);
if (document != null)
{
HttpResponse response = new HttpResponse(httpRequest);
RenderContext renderContext = new RenderContext(response.ContentWriter, TemplateSource);
renderContext.SetScriptObject("request", httpRequest);
renderContext.SetScriptObject("response", response);
OnPrepareRenderContext?.Invoke(this, document, renderContext);
document.RenderTemplate(renderContext);

View File

@ -15,7 +15,7 @@
<ItemGroup>
<PackageReference Include="ln.http" Version="0.1.2"/>
<PackageReference Include="ln.templates" Version="0.1.0"/>
<PackageReference Include="ln.templates" Version="0.1.1"/>
</ItemGroup>
</Project>