미들웨어 타입 정의
middleware.go 파일을 생성하고 Middleware 타입을 정의해 보자.
▼ middleware.go
type Middleware func(next HandlerFunc) HandlerFunc
Middleware는 HandlerFunc을 매개변수로 받아 새로운 HandlerFunc을 반환한다. 즉, 다음에 실행할 핸들러를 매개변수로 전달받고, 전달받은 핸들러 앞/뒤에 미들웨어 로직을 추가하여 다시 반환하는 방식이다. 앞서 설명했듯이 체인 형태로 연결된다.