import Router from 'koa-router';
import {clientRender} from '../render/render-client';
import {serverRender} from '../render/render-server';
import MiddlewareProxy from './lib/lib_route';

const Middlewares = new MiddlewareProxy();
Middlewares.push('isServerRender',serverRender);

interface IRuleOption {
    path: string;
    isServerRender?: boolean;
    controller: Router.IMiddleware;
}

// 当 serverRender 存在时，优先走 serverRender。如果 serverRender 失败，或者不使用 serverRender，
// 则默认走 clientRender 直接读取资源内容
const rules: Array<IRuleOption> = [
    {path: '/home', isServerRender: true, controller:clientRender },
    {path: '/server', isServerRender: true, controller:clientRender },
    {path: '/client', isServerRender: false, controller:clientRender },
];


export default Middlewares.wrapRouters(rules);
