UNPKG

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.

27 lines (22 loc) 874 B
import RoutePathValidator from "./RoutePathValidator"; export default class StaticFileRoute extends RoutePathValidator { private staticFilePaths: string[]; controller: RouteControllerCtorConfig<StaticFileControllerActionParams>; constructor(public config: StaticFileRouteCtorConfigProps) { super(config); this.controller = config.controller; this.staticFilePaths = config.staticFilePathsGetter(); } getControllerActionParams({ request }: { request: HttpRequest }) { return { filepath: this.getRequestedFilepath(request) }; } protected isValid(request: HttpRequest) { return this.staticFilePaths.indexOf(this.getRequestedFilepath(request)) >= 0; } protected getRequestedFilepath({ url }: { url: string; }) { const stripOutQueryPart = /^(\/[^?]*)\?/g.exec(url); return stripOutQueryPart ? stripOutQueryPart[1] : url; } }