From 6049930e90e88500469cafa2f7716082f1cabe79 Mon Sep 17 00:00:00 2001 From: Nicolas Lepage <19571875+nlepage@users.noreply.github.com> Date: Wed, 27 Nov 2019 08:20:40 +0100 Subject: [PATCH] :construction: --- go.mod | 2 +- serve.go | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 14c8d52..b4213af 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/nlepage/go-wasm-http-server -go 1.12 +go 1.13 diff --git a/serve.go b/serve.go index 4555a15..6ed985b 100644 --- a/serve.go +++ b/serve.go @@ -1,6 +1,7 @@ package wasmhttp import ( + "fmt" "net/http" "os" "syscall/js" @@ -24,9 +25,23 @@ func Serve(handler http.Handler) func() { }) go func() { + defer func() { + r := recover() + if r != nil { + if err, ok := r.(error); ok { + fmt.Fprintf("wasmhttp: panic: %+v", err) + } else { + fmt.Fprintf("wasmhttp: panic: %v", r) + } + + res := whutil.NewResponseWriter() + res.WriteHeader(500) + resolveRes(res) + } + }() + req, err := jsReq.HTTPRequest() if err != nil { - //FIXME reject panic(err) }