// 기본 미들웨어를 포함하지 않는 라우터를 작성합니다.
// GIN_MODE=release로 하더라도 Logger 미들웨어는 gin.DefaultWriter에 로그를 기록합니다.
// 기본값 gin.DefaultWriter = os.Stdout
// Recovery 미들웨어는 panic이 발생하면 500 에러를 씁니다.
router.Use(gin.Recovery())
// 각 라우트 당 원하는만큼 미들웨어를 추가 할 수 있습니다.
router.GET("/benchmark", MyBenchLogger(), benchEndpoint)
// authorized := router.Group("/", AuthRequired())
authorized := router.Group("/")
// 그룹별로 미들웨어를 사용할 수 있습니다!
// 이 경우 "authorized"그룹에서만 사용자 정의 생성된 AuthRequired() 미들웨어를 사용합니다.
authorized.Use(AuthRequired())
authorized.POST("/login", loginEndpoint)
authorized.POST("/submit", submitEndpoint)
authorized.POST("/read", readEndpoint)
testing := authorized.Group("testing")
testing.GET("/analytics", analyticsEndpoint)
// 서버가 실행 되고 0.0.0.0:8080 에서 요청을 기다립니다.