When i hit an api : "http://localhost:4040/api/v1/user/getAUser"
I got a Error how to solve this
server is running on port 4040
DB connection successful
node:internal/errors:496
ErrorCaptureStackTrace(err);
^
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at new NodeError (node:internal/errors:405:5)
at ServerResponse.setHeader (node:_http_outgoing:648:11)
at ServerResponse.header (D:\blogAppBackend\node_modules\express\lib\response.js:794:10)
at ServerResponse.send (D:\blogAppBackend\node_modules\express\lib\response.js:174:12)
at ServerResponse.json (D:\blogAppBackend\node_modules\express\lib\response.js:278:15)
at exports.getAUser (D:\blogAppBackend\controllers\userControllers.js:206:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ERR_HTTP_HEADERS_SENT'
}
Node.js v18.18.2
[nodemon] app crashed - waiting for file changes before starting...
stuck my mind and i do nothing
some parts of code
added some parts of code
exports.getAUser = async(req,res)=>{
try {
// get user id by paramsj or res ke body
const userId = req.user.id;
//get a user by id
const user = await User.findById(userId);
// return resposne
res.status(200).json({
success : true,
message : "User data Found ",
user
})
} catch (error) {
return res.status(500).json({
success : false,
message : error.message,
})
}
}
api :"http://localhost:4040/api/v1/user/getAUser"
// create token
const token = jwt.sign({email : user.email,id : user._id,name : user.name},"ramkumarsha256",{
expiresIn : "30d"
})
// remove password from user
user.password = undefined;
user.token = token;
const options = {
httpOnly : true
}
This error comes when the server is trying to have more than one requests. Add return statements for all the middlewares that you are using.
exports.getAUser = async(req,res)=>{ try {
// get user id by paramsj or res ke body
const userId = req.user.id;
//get a user by id
const user = await User.findById(userId);
// return resposne
return res.status(200).json({
success : true,
message : "User data Found ",
user
})
} catch (error) {
return res.status(500).json({
success : false,
message : error.message,
})
}
}