import http from 'http'; import {HttpMethod, TrieRouter} from '@e22m4u/js-trie-router'; import { HttpData, TrieRouterDataMapper, } from '@e22m4u/js-trie-router-data-mapper'; const router = new TrieRouter(); router.useService(TrieRouterDataMapper); // регистрация маршрута для проверки // проекции возвращаемого объекта router.defineRoute({ method: HttpMethod.GET, path: '/responseProjection', meta: { dataMap: { response: { source: HttpData.RESPONSE_BODY, projection: {foo: true, bar: false}, }, }, }, handler: () => { return {foo: 10, bar: 20, baz: 30}; }, }); // создание экземпляра HTTP сервера // и подключение обработчика запросов const server = new http.Server(); server.on('request', router.requestListener); // прослушивание входящих запросов // на указанный адрес и порт const port = 3000; const host = '0.0.0.0'; server.listen(port, host, function () { const cyan = '\x1b[36m%s\x1b[0m'; console.log(cyan, 'Server listening on port:', port); console.log( cyan, 'Open in browser:', `http://${host}:${port}/responseProjection`, ); });