of routes) {
const middlewares = route.middlewares?.map((middleware) =>
middleware.execute.bind(middleware)
)
const hendler = route.func.bind(this)
const middleware = middlewares ? [...middlewares, hendler] : hendler
this.router[route.method](route.path, hendler)
// console.log(`Забиндили метод ${route.method} по пути ${route.path} функция ${hendler}`)
}
}
А, если так Я думал вопрос не про логгер запросов на самомого сервера а логгер запросов из сервера на другие сервисы/апишки
А объясни плиз что этот код делает, если коротко
биндит роуты, ну то есть я потом просто передаю массив роутов со своей настройкой { path: '/', method: 'get', func: this.test, test: console.log('сработал bindRoutes /'), },
А, интересно, не встречал такое То есть, ты можешь создать конфигурацию эндпоинтов в массиве и просто к одному основному роутеру присвоить их через цикл, без необходимости создавать роутер файлы...
ну не стоит забывать, что бэк на ооп пишется, хотя не знаю так ли это важно, но на ооп расширять всегда удобно, например можно расширить http export class ExeptionFilter implements IExeptionFilter { catch(error: Error | HTTPError, req: Request, res: Response, next: NextFunction) { if (error instanceof HTTPError) { res.send({ httpStatusCode: error.code, message: error.message, }) return } res.status(500).send(error.message) } }
Обсуждают сегодня