With Middleware, the developer becomes able to use code over configuration. As Next.js has introduced Middleware, hence here you will get the flexibility to run the code prior to the completion of the request.
Further, the modification can be made by, redirecting, rewriting, adding headers, or even streaming HTML based on the response from the user.
Middleware is useful for the features that contain logic. These features are like
- Bot protection
- Redirects and rewrites
- Handling unsupported browsers
- Feature flags and A/B tests
- Server-side analytics
- Advanced i18n routing requirements
- Logging and many more
Furthermore, Middleware follows defined runtime and it supports APIs like fetch. Also, it works exceptionally well by using the next start. Further, it efficiently works for Edge platforms such as Vercel that uses Edge functions.
If you are looking to use Middleware in Next.JS, follow the given code after creating a file pages/_middleware.js