route-registry.d.ts 757 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import {Route} from './route.js';
  2. import {Service} from './service.js';
  3. import {IncomingMessage} from 'http';
  4. import {RouteDefinition} from './route.js';
  5. import {ServiceContainer} from '@e22m4u/js-service';
  6. /**
  7. * Resolved route.
  8. */
  9. export type ResolvedRoute = {
  10. route: Route;
  11. params: {[key: string]: string | undefined};
  12. };
  13. /**
  14. * Route registry.
  15. */
  16. export declare class RouteRegistry extends Service {
  17. /**
  18. * Constructor.
  19. *
  20. * @param container
  21. */
  22. constructor(container: ServiceContainer);
  23. /**
  24. * Define route.
  25. *
  26. * @param routeDef
  27. */
  28. defineRoute(routeDef: RouteDefinition): Route;
  29. /**
  30. * Match route by request.
  31. *
  32. * @param req
  33. */
  34. matchRouteByRequest(req: IncomingMessage): ResolvedRoute | undefined;
  35. }