diff --git a/smalltrip/problem/problem.go b/smalltrip/problem/problem.go index e8f078d..7df9dca 100644 --- a/smalltrip/problem/problem.go +++ b/smalltrip/problem/problem.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "slices" + "text/template" ) type Problem interface { @@ -52,8 +53,25 @@ func New(opts ...Option) RegisteredProblem { } var ( - DefaultTypeURI = "about:blank" - DefaultHandler = HandlerAll + DefaultTypeURI = "about:blank" + DefaultTemplate = template.Must(template.New("x-smalltrip-problem-template").Parse(` + + + + {{ .Status }} - {{ .Title }} + + +

{{.Status}} - {{ .Title }}

+

{{ .Type }}

+

{{ .Detail }}

+ {{if .Instance}} +

Instance: {{ .Instance }}

+ {{end}} + {{printf "%#v" .}} + + +`)) + DefaultHandler = HandlerMiddleware(HandlerBrowser(DefaultTemplate)) ) func (p RegisteredProblem) Type() string {