728x90

Express 2

[express | axios] socket hang up

발단 현재 내가 작업을 진행하는 방향은 프론트 > api서버 > db서버 로 Axios를 2번을 거치고 있다. 그런데 api서버까지는 정상적으로 요청이 들어오고 있는데 db서버로 접근할 때 Axios쪽에서 socket hang up 오류가 발생했다. 똑같이 post로 요청을 보냈고, 같은 값을 본문에 포함해서 보냈는데 어떤 점이 문제였을까? 해결방법 문제점을 다행히 금방 찾았다. 결론부터 말하면 axios에 보낸 본문의 크기가 너무 컸기 때문이다. 요청한 본문이 달랐고, 처음 프론트에서 받아왔을 때 express의 request.body에 있는 값중 하나를 받아와서 DB에 저장하기 위해 다시 axios로 해당 값을 보내야 하는데 변수로 저장한 값이 가공한 값이 아니라 req.body 자체였다. 객체구조할..

[http api] 특정 api에서만 헤더의 쿠키가 보이지 않는 경우

문제 같은 라우터에서 api를 실행했다. 어떤 api에서는 req.cookies의 값이 정상적으로 확인되는데, 특정 api에서만 req.cookies 값이 null로 확인되었다. 마찬가지로 세션데이터 등 여러 req에 관한 값이 확인되지 않았지만, req 자체는 정상적으로 확인되었다. 납득이 되질 않았다. 미들웨어 자체의 순서나 다른 부분의 문제일 수가 없는게, 같은 라우터 안에서 컨트롤러만 다른 상황이라 동일한 순서 안에서 실행되는 것이기 때문이다. 세션을 검사하는 api에서는 쿠키가 보이는데, 세션을 연장하는 api에서는 쿠키가 보이질 않았다. 해결 과정 두 api의 차이점은 메서드였다. 세션을 검사하는 api는 get, 세션을 연장하는 api는 put이였다. 세션 검사는 조회하는 것이기 때문에 ge..

728x90