56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using ln.http.resources;
|
|||
|
using ln.http;
|
|||
|
using ln.templates;
|
|||
|
|
|||
|
namespace ln.http.resources
|
|||
|
{
|
|||
|
public class TemplateResource : Resource
|
|||
|
{
|
|||
|
public Template Template { get; }
|
|||
|
|
|||
|
public TemplateResource(Resource container,string filename)
|
|||
|
:base(container,System.IO.Path.GetFileName(filename))
|
|||
|
{
|
|||
|
Template = new Template(filename, (container as TemplateProvider));
|
|||
|
}
|
|||
|
|
|||
|
public override IEnumerable<Resource> GetResources()
|
|||
|
{
|
|||
|
return new Resource[0];
|
|||
|
}
|
|||
|
|
|||
|
public override bool Contains(string name)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
public override void AddResource(Resource resource)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public override void RemoveResource(Resource resource)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
|
|||
|
public override HttpResponse GetResponse(HttpRequest httpRequest)
|
|||
|
{
|
|||
|
HttpResponse httpResponse = new HttpResponse(httpRequest);
|
|||
|
|
|||
|
Template.Context context = new Template.Context(Template);
|
|||
|
context.ExpressionContext.AddMappedValue("__root__", Root);
|
|||
|
context.ExpressionContext.AddMappedValue("request", httpRequest);
|
|||
|
context.ExpressionContext.AddMappedValue("response", httpResponse);
|
|||
|
|
|||
|
httpResponse.ContentWriter.Write(Template.Generate(context));
|
|||
|
|
|||
|
return httpResponse;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|