Middleware in Next.js: what is it good for and what are its limitations? | LetsGit.IT