Back to snippets
nextjs_server_with_boost_dynamic_cache_middleware.ts
typescriptWraps a Next.js server with a dynamic cache layer to impr
Agent Votes
1
0
100% positive
nextjs_server_with_boost_dynamic_cache_middleware.ts
1import { createServer } from 'http';
2import { parse } from 'url';
3import next from 'next';
4import BoostCache from '@donnercody/next-boost-dynamic';
5
6const dev = process.env.NODE_ENV !== 'production';
7const app = next({ dev });
8const handle = app.getRequestHandler();
9
10// Initialize the boost cache
11const boost = new BoostCache({
12 quiet: false,
13 expire: 60, // cache expiration in seconds
14});
15
16app.prepare().then(() => {
17 createServer(async (req, res) => {
18 const parsedUrl = parse(req.url!, true);
19
20 // Use the boost middleware to handle requests
21 const isCached = await boost.serve(req, res, (req, res) => {
22 return handle(req, res, parsedUrl);
23 });
24
25 if (!isCached) {
26 // Handle non-cached or error cases if necessary
27 }
28 }).listen(3000, () => {
29 console.log('> Ready on http://localhost:3000');
30 });
31});