HTTP Proxy middleware available in API Middleware provided by Next.js.
The easiest way to install next-http-proxy-middleware
is with npm.
npm install next-http-proxy-middleware
Alternately, download the source.
git clone https://github.com/stegano/next-http-proxy-middleware.git
This middleware is implemented using the http-proxy
library. You can use the existing options provided by http-proxy
. And you can rewrite the api path using pathRewrite
, an additional option provided by this middleware.
- Replaces URL information matching the pattern with another string.
- Priority is determined in the order entered in the array.
- If the request URL matches the pattern
pathRewrite.patternStr
replace the URL string with the valuepathRewrite.replaceStr
.
-
Refer to the following for how to use Nextjs API Middleware
// pages/[...all].ts
...
export default (req: NextApiRequest, res: NextApiResponse) => (
isDevelopment
? httpProxyMiddleware(req, res, {
// You can use the `http-proxy` option
target: 'https://www.example.com',
// In addition, you can use the `pathRewrite` option provided by `next-http-proxy-middleware`
pathRewrite: [{
patternStr: '^/api/new',
replaceStr: '/v2'
}, {
patternStr: '^/api',
replaceStr: ''
}],
})
: res.status(404).send(null)
);
- If you are using the
multipart/form-data
, refer to the Issues below
Thanks goes to these wonderful people (emoji key):
Denny Lim 🐛 💻 |
Kristian Tryggestad 🐛 💻 |
Gunnlaugur Thor Briem 💻 🤔 |
Otto von Wesendonk 🛡️ |
Daniel Silva 🤔 |
Yann Pringault 💻 |
Lorenzo 📖 |
Timon Grassl 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!