aboutsummaryrefslogtreecommitdiff
path: root/echo/echo_default.go
diff options
context:
space:
mode:
Diffstat (limited to 'echo/echo_default.go')
-rw-r--r--echo/echo_default.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/echo/echo_default.go b/echo/echo_default.go
index ff3c754..33ad015 100644
--- a/echo/echo_default.go
+++ b/echo/echo_default.go
@@ -71,9 +71,10 @@ type EchoConfig struct {
71 71
72type EchoWrapper struct { 72type EchoWrapper struct {
73 *echo.Echo 73 *echo.Echo
74 runner *service.AppRunner 74 runner *service.AppRunner
75 autocert autocert.PrimingCertProvider 75 autocert autocert.PrimingCertProvider
76 templateFS fs.FS 76 templateFS fs.FS
77 errorHandler ErrorHandler
77} 78}
78 79
79// NewEchoWrapper creates a new instance of Echo and wraps it in an 80// NewEchoWrapper creates a new instance of Echo and wraps it in an
@@ -132,6 +133,10 @@ func (w *EchoWrapper) GetTemplateFS() fs.FS {
132 return w.templateFS 133 return w.templateFS
133} 134}
134 135
136func (w *EchoWrapper) AddErrorHandler(h ContentErrorHandler, mime ...string) {
137 w.errorHandler.AddHandler(h, mime...)
138}
139
135func (w *EchoWrapper) Configure(c EchoConfig) error { 140func (w *EchoWrapper) Configure(c EchoConfig) error {
136 w.configureAutocert(&c) 141 w.configureAutocert(&c)
137 142
@@ -207,12 +212,13 @@ func (w *EchoWrapper) configureTemplates(c *EchoConfig) error {
207 return fmt.Errorf("Error loading template renderer: %w", err) 212 return fmt.Errorf("Error loading template renderer: %w", err)
208 } 213 }
209 214
210 w.HTTPErrorHandler = NewDefaultErrorHandler(tr).HandleError 215 w.errorHandler = NewDefaultErrorHandler(tr)
211 w.Renderer = tr 216 w.Renderer = tr
212 } else { 217 } else {
213 w.HTTPErrorHandler = NewNoHTMLErrorHandler().HandleError 218 w.errorHandler = NewNoHTMLErrorHandler()
214 } 219 }
215 220
221 w.HTTPErrorHandler = w.errorHandler.HandleError
216 w.templateFS = templates 222 w.templateFS = templates
217 return nil 223 return nil
218} 224}