0

Error: Route.post() requires a callback function but got a [object Undefined] how to overcome with this problem

router

const express=require("express")
const router = express.Router();

const {auth} =require("../middleware/auth")
const { addBd } = require("../controllers/birthdayController");

router.route("/addNewBd").post(auth,addBd);
module.exports = router;

auth.js

const jwt = require("jsonwebtoken");
const User=require("../models/Users")
module.exports = async function (req, res, next) {
  let token;

  if (
    req.headers.authorization &&
    req.headers.authorization.startsWith("Bearer")
  ) {
    // Set token from Bearer token in header
    token = req.headers.authorization.split(" ")[1];
    // Set token from cookie
  } else if (req.cookies.token) {
    token = req.cookies.token;
  }
  if (!token) {
    return res.status(401).send("you are not logged in");
  }
  
  try {
    // Verify token
    const decoded = jwt.verify(token, process.env.JWT_SECRET);
    
    req.user = await User.findById(decoded.user.id);
   
    next();
  } catch (err) {
    return res.status(401).send("you are not logged in");
  }
};

I am getting this problem how to sort out this one

  • 3
    Does this answer your question? [Error: .post() requires callback functions but got a \[object Undefined\] not working](https://stackoverflow.com/questions/34853675/error-post-requires-callback-functions-but-got-a-object-undefined-not-work) – Youssouf Oumar Dec 28 '22 at 17:54

0 Answers0