const router = require('express').Router(); const response = require('./response-wrapper'); // const config = require('../../config-handler'); // Парсинг куки //router.use(require('cookie-parser')()); // Загрузка музыки при помощи спец. метода function muzicLoad (req, res) { res.setHeader('Content-Type', 'audio/mpeg'); global.database.muzic.get((err, data) => { data = data[0]?.data; if (err) { res.send(Buffer.from([])); } else { res.send(!data ? Buffer.from([]) : data); } }, { where : { id : !Number.isInteger(+req.query.id) ? 0 : +req.query.id } }); } // Подгрузка с файла router.use('/:method_name', async (req, res, next, ...etc) => { if (req.params.method_name === 'muzic') { muzicLoad(req, res); return; } try { const methodFunct = require(`./methods/${req.params.method_name}`); response(methodFunct, req, res); } catch (e) { if (e.message.includes("Cannot find module")) { const ApiError = require('./errorClass'); res.status(400).sendModed(await response((req, res) => { throw new ApiError("METHOD_NOT_FOUNDED"); }, req, res)); } else { response(async () => { throw e; }, req, res); } } }); module.exports = router;