clonegur/backend/routers/AppRouter.ts

22 lines
811 B
TypeScript

import { rest } from "../server/decorators.ts";
import HttpError from "../server/HttpError.ts";
import RestRequest from "../server/RestRequest.ts";
import RestResponse from "../server/RestResponse.ts";
import Router from "../server/Router.ts";
import { stream } from "../utils/utils.ts";
export default class AppRouter extends Router {
public onError(_req: RestRequest, error: unknown): RestResponse | HttpError | Promise<RestResponse | HttpError> {
if (error instanceof HttpError) return new HttpError({ error: error.body }, error.status);
return super.onError(_req, error);
}
@rest('OPTIONS', '*')
options() {
return new RestResponse();
}
@rest('*', '*')
default() {
return new RestResponse().body(stream('Page not found :/')).status(404);
}
}