UNPKG

@economic-mcp/server-economic

Version:

Model Context Protocol server for e-conomic API

49 lines (40 loc) 1.26 kB
const axios = require('axios'); // Authentication middleware for e-conomic API const authMiddleware = (req, res, next) => { // Check if API keys are provided in the request headers const appSecretToken = req.headers['x-appsecrettoken'] || process.env.ECONOMIC_APP_SECRET_TOKEN; const agreementGrantToken = req.headers['x-agreementgranttoken'] || process.env.ECONOMIC_AGREEMENT_GRANT_TOKEN; if (!appSecretToken || !agreementGrantToken) { return res.status(401).json({ error: 'Authentication failed', message: 'Missing required authentication tokens' }); } // Add the tokens to the request object for use in route handlers req.economicAuth = { appSecretToken, agreementGrantToken }; next(); }; // Error handling middleware const errorHandler = (err, req, res, next) => { console.error('Server error:', err); // Handle axios errors if (axios.isAxiosError(err)) { return res.status(err.response?.status || 500).json({ error: 'API request failed', message: err.message, details: err.response?.data }); } // Handle other errors res.status(500).json({ error: 'Server error', message: err.message }); }; module.exports = { authMiddleware, errorHandler };