const ApplicationError = require('../utils/application-error'); /** * Middleware for checking for and decrypting authorization tokens. * * This middleware checks for and decrypts the authorization token passed in the request header. * If the token is missing or has an invalid format, an error is generated. * * @param {Object} req - Express request object. * @param {Object} res - The Express response object. * @param {function} next - A function to move to the next middleware. * @throws {ApplicationError} Error if the token is missing or has an invalid format. */ module.exports = async (req, res, next) => { const header = req.headers['authorization']; if (!header || !header.includes(' ')) { throw ApplicationError.NoAuthHeader(); } req.accessToken = header.split(' ')[1]; next(); };