diff options
| author | David Crawshaw <crawshaw@tailscale.com> | 2020-09-17 09:56:12 -0400 |
|---|---|---|
| committer | David Crawshaw <crawshaw@tailscale.com> | 2020-09-17 09:57:36 -0400 |
| commit | ad10cd71a626b005d14bc781e037df18be8128fe (patch) | |
| tree | 8f3f348be3bab458d3434b87a7c623b21b38be9a /tsweb/tsweb.go | |
| parent | dea3ef0597d39616276495bab40366cfafc22925 (diff) | |
| download | tailscale-crawshaw/jsonhandler.tar.xz tailscale-crawshaw/jsonhandler.zip | |
tsweb: when unwrapping HTTPError, record the user-facing message also in the logcrawshaw/jsonhandler
There's often some useful piece of information in there not already
repeated in the internal error.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
Diffstat (limited to 'tsweb/tsweb.go')
| -rw-r--r-- | tsweb/tsweb.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tsweb/tsweb.go b/tsweb/tsweb.go index 1c8ff01bc..649abdfa0 100644 --- a/tsweb/tsweb.go +++ b/tsweb/tsweb.go @@ -236,8 +236,13 @@ func (h retHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { case hErrOK: // Handler asked us to send an error. Do so, if we haven't // already sent a response. + msg.Err = hErr.Msg if hErr.Err != nil { - msg.Err = hErr.Err.Error() + if msg.Err == "" { + msg.Err = hErr.Err.Error() + } else { + msg.Err = msg.Err + ": " + hErr.Err.Error() + } } if lw.code != 0 { h.logf("[unexpected] handler returned HTTPError %v, but already sent a response with code %d", hErr, lw.code) |
