Update
This commit is contained in:
1 parent
3530afb854
commit
6903fcff27
2146 files changed
+112256
-190703
No files matched your search
+13
-6
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) Tailscale Inc & AUTHORS
|
||||
// Copyright (c) Tailscale Inc & contributors
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
//go:build !ios && !android && !js && !ts_omit_acme
|
||||
@@ -6,12 +6,15 @@
|
||||
package localapi
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"maps"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"tailscale.com/ipn/ipnlocal"
|
||||
"tailscale.com/tsweb"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -39,11 +42,15 @@ func (h *Handler) serveCert(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
pair, err := h.b.GetCertPEMWithValidity(r.Context(), domain, minValidity)
|
||||
if err != nil {
|
||||
// TODO(bradfitz): 500 is a little lazy here. The errors returned from
|
||||
// GetCertPEM (and everywhere) should carry info info to get whether
|
||||
// they're 400 vs 403 vs 500 at minimum. And then we should have helpers
|
||||
// (in tsweb probably) to return an error that looks at the error value
|
||||
// to determine the HTTP status code.
|
||||
if hs, ok := errors.AsType[tsweb.HTTPStatuser](err); ok {
|
||||
resp := hs.HTTPStatus()
|
||||
maps.Copy(w.Header(), resp.Header)
|
||||
http.Error(w, resp.Msg, resp.Code)
|
||||
return
|
||||
}
|
||||
// TODO(bradfitz): 500 is a little lazy. Other errors from GetCertPEM
|
||||
// should also implement tsweb.HTTPStatuser (400 vs 403 vs 500 vs …)
|
||||
// rather than falling through here.
|
||||
http.Error(w, fmt.Sprint(err), 500)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user