summaryrefslogtreecommitdiffhomepage
path: root/tsweb/tsweb.go
diff options
context:
space:
mode:
authorDavid Crawshaw <crawshaw@tailscale.com>2020-09-17 09:56:12 -0400
committerDavid Crawshaw <crawshaw@tailscale.com>2020-09-17 09:57:36 -0400
commitad10cd71a626b005d14bc781e037df18be8128fe (patch)
tree8f3f348be3bab458d3434b87a7c623b21b38be9a /tsweb/tsweb.go
parentdea3ef0597d39616276495bab40366cfafc22925 (diff)
downloadtailscale-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.go7
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)