Brad Fitzpatrick
c6740da624
tsweb: make VarzHandler support untyped expvar.Maps for compatibility
...
Updates #2635
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-12 13:35:31 -07:00
Brad Fitzpatrick
7c7eb8094b
tsweb: make VarzHandler support expvar.Funcs returning ints/floats
...
Updates #2635
2021-08-12 13:07:34 -07:00
Brad Fitzpatrick
5aba620fb9
tsweb: make VarzHandler capable of walking structs with reflect
...
To be used by control, per linked bug's plan.
Updates #2635
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-11 18:31:54 -07:00
Brad Fitzpatrick
3700cf9ea4
tsweb: also support LabelMaps from expvar.Map, without metrics
...
We want to use tsweb to format Prometheus-style metrics from
our temporary golang.org/x/net/http2 fork, but we don't want http2
to depend on the tailscale.com module to use the concrete type
tailscale.com/metrics.LabelMap. Instead, let a expvar.Map be used
instead of it's annotated sufficiently in its name.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-10 14:31:54 -07:00
Brad Fitzpatrick
5f45d8f8e6
tsweb: add VarzHandler tests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-10 13:41:16 -07:00
David Anderson
48c25fa36f
tsweb: fold StdHandlerOpts and StdHandler200s with StdHandler.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-06-15 21:55:33 -07:00
Josh Bleecher Snyder
e98f2c57d6
tsweb: add StdHandlerOpts that accepts an options struct
...
I'm about to add yet another StdHandler option.
Time to refactor.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2020-10-30 11:07:57 -07:00
David Crawshaw
815bf017fc
tsweb: when unwrapping HTTPError, record the user-facing message also in the log
...
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>
2020-09-17 10:12:48 -04:00
David Anderson
0038223632
tstest: rename from testy.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-04-28 20:45:12 -07:00
Brad Fitzpatrick
7bf436ba30
tsweb: add some Benchmarks
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-04-05 13:16:36 -07:00
Brad Fitzpatrick
64334143a1
tsweb: rename Handler to ReturnHandler
...
The name's been bugging me for a long time.
I liked neither the overlap between tsweb.Handler and http.Handler,
nor the name "ServeHTTPErr" which sounds like it's an error being
returned, like it's an error handler and not sometimes a happy path.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-04-05 13:16:36 -07:00
David Anderson
b446de103a
tsweb: fix tests.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-04-05 00:22:03 -07:00
Brad Fitzpatrick
2863e49db9
tsweb: don't flush, treat no-op Handler as 200, like Go
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-04-04 16:11:53 -07:00
David Anderson
5d995d9d6b
tsweb: add a test case for nil child errors in tsweb.Error.
...
Signed-off-by: David Anderson <dave@natulte.net>
2020-04-03 10:37:39 -07:00
David Anderson
12a6626a94
tsweb: use a ResponseWriter wrapper to log more accurately.
...
Also adds tests, because the logging handler is acquiring a fair
number of branches.
Signed-off-by: David Anderson <dave@natulte.net>
2020-03-19 20:11:07 -07:00