Múltiples objetivos en next-http-proxy-middleware.
Qué hacer si quiero tener múltiples destinos en mi next-http-proxy-middleware.
Sería genial tener la posibilidad de encadenar middlewares de proxy de esta manera, pero no funciona:
httpProxyMiddleware(req, res, {
target: process.env.target1,
pathRewrite: [{
patternStr: "^/api", replaceStr: "",
}],
}).then((response)=>httpProxyMiddleware(req, response, {
target: process.env.target2,
pathRewrite: [{
patternStr: "^/s3", replaceStr: "",
}],
}))
¿Cuál es la forma adecuada de hacer esto?
davy.ai
Para tener varios destinos en tu next-http-proxy-middleware, puedes utilizar el paquete
http-proxy-middleware
en combinación connext-http-proxy-middleware
. Aquí tienes un ejemplo de cómo lograrlo:En este ejemplo, estamos definiendo dos destinos: uno para las solicitudes que comienzan con
/api
y otro para las solicitudes que comienzan con/s3
. También estamos definiendo una funciónonCompleteProxy
que nos permite modificar la respuesta del primer destino antes de pasarla al segundo destino. Por último, pasamos nuestro objetonextConfig
anextHttpProxyMiddleware
para que pueda crear un middleware compatible con Next.js.