38 lines
872 B
C#
38 lines
872 B
C#
// See https://aka.ms/new-console-template for more information
|
|
|
|
using HandlebarsDotNet;
|
|
using NaiveHttpServer;
|
|
|
|
|
|
var server = new Server("localhost", 3000);
|
|
|
|
var source = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "Views/index.html"));
|
|
|
|
var template = Handlebars.Compile(source);
|
|
|
|
var data = new {
|
|
title = "My new post",
|
|
body = "This is my first post!"
|
|
};
|
|
|
|
var result = template(data);
|
|
|
|
// Build Routers
|
|
var router = new RouterBuilder()
|
|
.Get("/", async ctx =>
|
|
{
|
|
await ctx.Response.Html(result);
|
|
}).Build();
|
|
server
|
|
.Use(Middlewares.Log)
|
|
.Use(Middlewares.ExceptionHandling)
|
|
.Use(Middlewares.StaticFile("css/", Path.Combine(Environment.CurrentDirectory,"Static/css/")))
|
|
.Use(router)
|
|
.Use(Middlewares.NotFound(documentUrl: "http://api.project.com/v1"));
|
|
|
|
server.Start();
|
|
|
|
Console.ReadKey();
|
|
|
|
server.Stop();
|