md-toy-blog
Version:
Very simple Markdown blog: serves your md as html without fancy databases. You will only spend time writing the actual data.
24 lines (20 loc) • 797 B
text/typescript
import RoutePathValidator from "./RoutePathValidator";
export default class BlogPostRoute
extends RoutePathValidator
{
controller: RouteControllerCtorConfig<BlogPostControllerActionParams>;
constructor(public config: BlogPostRouteCtorConfigProps) {
super(config);
this.controller = config.controller;
}
getControllerActionParams({ request }: { request: HttpRequest }): BlogPostControllerActionParams {
return { postSlug: this.getRequestedPostSlug(request, this.paths) };
}
protected isValid(req: HttpRequest) {
return this.config.validPostSlugList.indexOf(this.getRequestedPostSlug(req, this.paths)) >= 0;
}
private getRequestedPostSlug(req: HttpRequest, paths: string[]): string {
const [, postSlug] = req.url.split(paths[0]);
return postSlug;
}
}