import type { Application } from 'express'
import cors from 'cors'
export const configureMiddleware = (app: Application) => {
// Habilitar CORS para todas las solicitudes
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization')
res.header('Access-Control-Allow-Credentials', 'true')
// Manejar solicitudes preflight OPTIONS
if (req.method === 'OPTIONS') {
return res.status(200).send()
}
next()
})
// Configuración específica para rutas de autenticación
app.use('/auth/*', (req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Credentials', 'true')
next()
})
// Configuración específica para rutas de operaciones (incluyendo Stripe)
app.use('/operations/*', (req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Credentials', 'true')
next()
})
// Middleware de CORS general como respaldo
app.use(cors({
origin: 'https://elmossetgourmet.es',
credentials: true,
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With', 'Accept', 'Origin'],
preflightContinue: false,
optionsSuccessStatus: 204
}))
}
import type { Application } from 'express'
import cors from 'cors'
export const configureMiddleware = (app: Application) => {
// Habilitar CORS para todas las solicitudes
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization')
res.header('Access-Control-Allow-Credentials', 'true')
// Manejar solicitudes preflight OPTIONS
if (req.method === 'OPTIONS') {
return res.status(200).send()
}
next()
})
// Configuración específica para rutas de autenticación
app.use('/auth/*', (req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Credentials', 'true')
next()
})
// Configuración específica para rutas de operaciones (incluyendo Stripe)
app.use('/operations/*', (req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://elmossetgourmet.es')
res.header('Access-Control-Allow-Credentials', 'true')
next()
})
// Middleware de CORS general como respaldo
app.use(cors({
origin: 'https://elmossetgourmet.es',
credentials: true,
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With', 'Accept', 'Origin'],
preflightContinue: false,
optionsSuccessStatus: 204
}))
}