public Task Invoke(HttpContext context)
{
var path = context.Request.Path.Value.TrimStart('/');
var response = context.Response;
if (path == "topics.js")
{
response.Headers["content-type"] = "text/javascript";
return response.WriteAsync(_topicJS);
}
var topic = _project.FindTopicByUrl(path);
if (topic == null)
{
response.StatusCode = 404;
response.Headers["content-type"] = "text/plain";
return response.WriteAsync("Unknown topic");
}
response.Headers["cache-control"] = "no-cache, no-store, must-revalidate";
response.Headers["pragma"] = "no-cache";
response.Headers["expires"] = "0";
var html = GenerateHtml(topic);
response.Headers["content-type"] = "text/html";
return response.WriteAsync(html);
}