Koa의 미들웨어 함수는 두 개의 파라미터를 받습니다.
(ctx, next) => { }
위와 같은 형태이고 첫번째 파라미터는 ctx, 두번째 파라미터는 next입니다.
ctx는 Context의 줄임말로 웹 요청과 응답에 관한 정보를 지니고 있습니다. next는 현재 처리 중인 미들웨어의 다음 미들웨어를 호출하는 함수입니다. 미들웨어를 등록하고 next 함수를 호출하지 않으면 그 다음 미들웨어를 처리하지 않습니다.
다음 미들웨어를 처리할 필요가 없는 경우는 next를 생략하여 미들웨어를 작성하면 됩니다.
미들웨어는 app.use를 사용하여 등록되는 순서대로 처리됩니다.
이렇게 수정한 후에 서버를 재시작하고
http://localhost:4000/?authorized=1 에 들어가보면
이렇게 나오게 됩니다.
이는 첫번째 next함수 실행 후 promise 패턴으로 뒤의 then함수가 실행되어 1 2 2 END와 같은 형태로 나타나게 됩니다.
서버를 재시작한 후에 http://localhost:4000/?authorized=1 에 접속해보면
이와 같이 나타나게 됩니다.