Server 생성자 함수
Server 타입 값은 일일이 초기화하지 않아도 되도록 생성자 함수를 제공해 보자. 생성자 함수로 Server를 생성하면 Server 값을 안전하게 초기화할 수 있다.
▼ server.go
func NewServer() *Server { r := &router{make(map[string]map[string]HandlerFunc)} s := &Server{router: r} s.middlewares = []Middleware{ logHandler, recoverHandler, staticHandler, parseFormHandler, parseJsonBodyHandler} return s }
Server를 생성할 때 router와 middlewares의 초깃값을 지정해주었다. 그리고 logHandler, recoverHandler, staticHandler, parseFormHandler, parseJsonBodyHandler를 기본 미들웨어로 지정했다.