반응형
yarn start 를 했을 때 문법상 문제가 없다고 했는데,,
Request 를 보내니 갑자기 뿜어내는 해당 오류, 이 오류는 무엇인지 찾아보기로 하였습니다.
userRouter.route('/token')
.get((req, res)=>{})
.post((req,res)=>{
const refreshToken = req.body.refreshToken;
if(!refreshToken) res.sendStatus(403);
const accessToken = token().issuance(refreshToken, res);
res.json({accessToken : accessToken})
})
제 코드의 일부 입니다.
/signup 으로 get 요청을 보내면 작동하는 부분 입니다.
하지만 , 여기서 갑작스레 Cannot set headers after they are sent to the client 에러가 발생하며 당황스럽게 하였습니다...
무엇이 문제일지 확인을 하는데 응답 코드가 두 개가 존재하여 오류가 나는거였습니다.
그런데 도대체 어디에서 두개인지 정말 궁금하였습니다.
응답을 하면 자동으로 요청이 return되어서 끝나는것으로 생각을 하고 있던 저는 if(!refreshToken) res.sendStatus(403); 이 코드는 문제가 없는줄 알았기에 살짝 골머리를 앓았습니다..
하지만 응답을 한다고 return 이 되지 않는다는것을 알고 위 코드를 아래와같이 수정을 하니 문제가 없어지긴 하였습니다.
userRouter.route('/token')
.get((req, res)=>{})
.post((req,res)=>{
const refreshToken = req.body.refreshToken;
if(!refreshToken) return res.sendStatus(403);
const accessToken = token().issuance(refreshToken, res);
res.json({accessToken : accessToken})
})
여기서 갑자기 응답 속성의 종류는 어떤것들이 있는지 궁금하여 알아보기로 하였습니다.
expressjs 공식 문서를 통해 알게된 내용입니다. 정말 많은 속성들이 있더군요,,, 살짝..당황...
반응형
'JavaScript > Nodejs' 카테고리의 다른 글
[NodeJS] TypeScript 사용 시 Request CustomType (0) | 2021.12.23 |
---|---|
[NodeJS] Mysql 연결하기 [Mysql createPool] (0) | 2021.09.04 |
[Nodejs] 로그인 / 회원가입 [JWT Token] (2) | 2021.09.03 |
[Nodejs] 로그인 / 회원가입 [ 로그인 ] (0) | 2021.08.14 |
[Nodejs] 로그인 / 회원가입 [ Mysql 세팅 및 연동 / express-mysql-session ] (0) | 2021.08.12 |