Rotas (RouteModule/RouteChild)
O Nidus organiza o roteamento por módulo. Um módulo raiz declara as rotas (submódulos) que respondem por cada path.
Essas rotas são usadas pelo Nidus para decidir qual módulo carregar quando o Horse receber a request.
Definindo rotas no módulo raiz
unit App.Module;
interface
uses
Nidus.Module,
NFe.Module;
type
TAppModule = class(TModule)
public
function Routes: TRoutes; override;
end;
implementation
function TAppModule.Routes: TRoutes;
begin
Result := [
RouteModule('/nfe/:id', TNFeModule)
];
end;
end.
Rodando no Horse
uses
Horse,
Nidus.Driver.Horse,
App.Module;
begin
THorse.Use(Nidus_Horse(TAppModule.Create));
THorse.Listen(9000);
end.
dica
O Nidus_Horse chama internamente GetNidus.LoadRouteModule(...) e GetNidus.DisposeRouteModule(...). Você não precisa fazer isso manualmente.
cuidado
O handler HTTP continua sendo do Horse (ex.: THorse.Get('/nfe/:id', ...)). Sem um handler registrado, o Horse não chamará sua lógica.