package server import ( "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "git.ekzyis.com/ekzyis/delphi.market/server/router" ) type Server struct { *echo.Echo } type ServerContext = router.ServerContext func New(ctx ServerContext) *Server { var ( e *echo.Echo s *Server ) e = echo.New() e.Static("/", "public") e.Renderer = router.ParseTemplates("pages/**.html") e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{ Format: "${time_custom} ${method} ${uri} ${status}\n", CustomTimeFormat: "2006-01-02 15:04:05.00000-0700", })) e.Use(middleware.CORSWithConfig(middleware.CORSConfig{ AllowOrigins: []string{"http://localhost:4224", "https://delphi.market", "https://dev1.delphi.market"}, AllowCredentials: true, AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept}, })) e.HTTPErrorHandler = httpErrorHandler s = &Server{e} router.AddRoutes(e, ctx) return s }