tsweb: remove JSONHandlerFunc

It's unused and we've decided it's not what we want.

Change-Id: I425a0104e8869630b498a0adfd0f455876d6f92b
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2022-05-03 21:42:24 -07:00
committed by Brad Fitzpatrick
parent 7ee3068f9d
commit 2d1849a7b9
4 changed files with 53 additions and 464 deletions

View File

@@ -24,6 +24,7 @@ import (
"strings"
"time"
"go4.org/mem"
"inet.af/netaddr"
"tailscale.com/envknob"
"tailscale.com/metrics"
@@ -87,6 +88,30 @@ func AllowDebugAccess(r *http.Request) bool {
return false
}
// AcceptsEncoding reports whether r accepts the named encoding
// ("gzip", "br", etc).
func AcceptsEncoding(r *http.Request, enc string) bool {
h := r.Header.Get("Accept-Encoding")
if h == "" {
return false
}
if !strings.Contains(h, enc) && !mem.ContainsFold(mem.S(h), mem.S(enc)) {
return false
}
remain := h
for len(remain) > 0 {
var part string
part, remain, _ = strings.Cut(remain, ",")
part = strings.TrimSpace(part)
part, _, _ = strings.Cut(part, ";")
if part == enc {
return true
}
}
return false
}
// Protected wraps a provided debug handler, h, returning a Handler
// that enforces AllowDebugAccess and returns forbidden replies for
// unauthorized requests.