Skip to main content
Module

x/dinar/Example/Application.tsx

deno web framewrok maybe :<
Latest
File
#! /Users/air/.deno/bin/deno run -A -c tsconfig.jsonimport { Dinar } from "../lib/dinar.ts";import { Controller, Get, Params, Query, React, Context, Middleware } from "../lib/mod.ts";import { EnvConfig } from "../lib/core/EnvConfig.ts";import { ValidatePipe, DinarStatic } from "../lib/middleware/mod.ts";import { IInterceptor, IGuard, IFilter, ILogger } from "../lib/interface/mod.ts";
const app = await Dinar.createApplication();
interface IAppConfig { session: string;}
@Controller()export class Index { constructor(private config: EnvConfig<IAppConfig>) {} @Get("config") getConfig() { return this.config.app_name; }}
@Middleware()class MyInterceptor implements IInterceptor { constructor(private config: EnvConfig<IAppConfig>) {}
apply(c: Context) { c.send(); }}
class MyLogger implements ILogger { log(c: Context) { console.log(`访问的地址${c.url}, method: ${c.method}, 返回的数据${c.res.isStatic ? "静态资源" : c.res.body}`); }}
class ExceptionFilter implements IFilter { catch(e: any, c: Context) {}}
class MyGuard implements IGuard { can(c: Context) {}}
app.useLogger(MyLogger);
app.useGlobalExceptionFilter(ExceptionFilter);
app.useGlobalGuard(MyGuard);
app.useGlobalPipe(ValidatePipe);
app.useStatic(DinarStatic);
app.useGlobalInterceptor(MyInterceptor);
app.run();