더북(TheBook)

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를 생성할 때 routermiddlewares의 초깃값을 지정해주었다. 그리고 logHandler, recoverHandler, staticHandler, parseFormHandler, parseJsonBodyHandler를 기본 미들웨어로 지정했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.