Files
gotenberg/internal/app/xhttp/xhttp.go
2019-12-06 17:23:17 +01:00

32 lines
836 B
Go

package xhttp
import (
"github.com/labstack/echo/v4"
"github.com/thecodingmachine/gotenberg/internal/pkg/conf"
)
// New returns a custom echo.Echo.
func New(config conf.Config) *echo.Echo {
srv := echo.New()
srv.HideBanner = true
srv.HidePort = true
srv.Use(contextMiddleware(config))
srv.Use(loggerMiddleware(config))
srv.Use(cleanupMiddleware())
srv.Use(errorMiddleware())
srv.GET(pingEndpoint(config), pingHandler)
srv.POST(mergeEndpoint(config), mergeHandler)
if config.DisableGoogleChrome() && config.DisableUnoconv() {
return srv
}
if !config.DisableGoogleChrome() {
srv.POST(htmlEndpoint(config), htmlHandler)
srv.POST(urlEndpoint(config), urlHandler)
srv.POST(markdownEndpoint(config), markdownHandler)
}
if !config.DisableUnoconv() {
srv.POST(officeEndpoint(config), officeHandler)
}
return srv
}