router-branch-example.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import http from 'http';
  2. import {TrieRouter, HttpMethod} from '../src/index.js';
  3. const router = new TrieRouter();
  4. // создание ветки маршрутизатора с адресом "api",
  5. // указанный путь будет использован как префикс
  6. // для маршрутов данной ветки
  7. const apiBranch = router.createBranch({path: 'api'});
  8. // определение маршрута в рамках ветки "api",
  9. // маршрут будет доступен по адресу "/api/status"
  10. apiBranch.defineRoute({
  11. method: HttpMethod.GET,
  12. path: '/status',
  13. handler: () => 'API is working',
  14. });
  15. // создание экземпляра HTTP сервера
  16. // и подключение обработчика запросов
  17. const server = new http.Server();
  18. server.on('request', router.requestListener);
  19. // прослушивание входящих запросов
  20. // на указанный адрес и порт
  21. const port = 3000;
  22. const host = '0.0.0.0';
  23. server.listen(port, host, function () {
  24. const cyan = '\x1b[36m%s\x1b[0m';
  25. console.log(cyan, 'Server listening on port:', port);
  26. console.log(
  27. cyan,
  28. 'Open in browser:',
  29. `http://${host}:${port}/api/status`,
  30. );
  31. });