import type { NextApiRequest, NextApiResponse } from "next";
import { createRouter } from "next-connect";
const router = createRouter<NextApiRequest, NextApiResponse>();
import type { NextApiRequest, NextApiResponse } from "next";
import { createRouter } from "next-connect";
const router = createRouter<NextApiRequest, NextApiResponse>();
router
.use(async (req, res, next) => {
const start = Date.now();
await next();
const end = Date.now();
console.log(`Request took ${end - start}ms`);
})
.use(authMiddleware)
.get((req, res) => {
res.send("Hello world");
})
.post(async (req, res) => {
const user = await insertUser(req.body.user);
res.json({ user });
})
.put(
async (req, res, next) => {
if (!req.isLoggedIn) throw new Error("thrown stuff will be caught");
return next();
},
async (req, res) => {
const user = await updateUser(req.body.user);
res.json({ user });
}
);
export default router.handler({
onError: (err, req, res) => {
console.error(err.stack);
res.status(500).end("Something broke!");
},
onNoMatch: (req, res) => {
res.status(404).end("Page is not found");
},
});
router
.use(async (req, res, next) => {
const start = Date.now();
await next();
const end = Date.now();
console.log(`Request took ${end - start}ms`);
})
.use(authMiddleware)
.get((req, res) => {
res.send("Hello world");
})
.post(async (req, res) => {
const user = await insertUser(req.body.user);
res.json({ user });
})
.put(
async (req, res, next) => {
if (!req.isLoggedIn) throw new Error("thrown stuff will be caught");
return next();
},
async (req, res) => {
const user = await updateUser(req.body.user);
res.json({ user });
}
);
export default router.handler({
onError: (err, req, res) => {
console.error(err.stack);
res.status(500).end("Something broke!");
},
onNoMatch: (req, res) => {
res.status(404).end("Page is not found");
},
});