unexported transport works

This commit is contained in:
ab14-tech 2025-01-24 12:59:24 -05:00
parent d6d9e9e8c8
commit cb23087f6d

View File

@ -133,7 +133,7 @@ type ActiveHealthChecks struct {
// body of a healthy backend. // body of a healthy backend.
ExpectBody string `json:"expect_body,omitempty"` ExpectBody string `json:"expect_body,omitempty"`
Transport http.RoundTripper `json:"-"`` transport http.RoundTripper `json:"-"``
uri *url.URL uri *url.URL
httpClient *http.Client httpClient *http.Client
bodyRegexp *regexp.Regexp bodyRegexp *regexp.Regexp
@ -187,14 +187,14 @@ func (a *ActiveHealthChecks) Provision(ctx caddy.Context, h *Handler) error {
if err != nil { if err != nil {
return fmt.Errorf("loading transport: %v", err) return fmt.Errorf("loading transport: %v", err)
} }
a.Transport = mod.(http.RoundTripper) a.transport = mod.(http.RoundTripper)
} else { } else {
a.Transport = h.Transport a.transport = h.Transport
} }
a.httpClient = &http.Client{ a.httpClient = &http.Client{
Timeout: timeout, Timeout: timeout,
Transport: a.Transport, Transport: a.transport,
CheckRedirect: func(req *http.Request, via []*http.Request) error { CheckRedirect: func(req *http.Request, via []*http.Request) error {
if !a.FollowRedirects { if !a.FollowRedirects {
return http.ErrUseLastResponse return http.ErrUseLastResponse
@ -411,7 +411,7 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, networ
} }
// this is kind of a hacky way to know if we should use HTTPS // this is kind of a hacky way to know if we should use HTTPS
transport := h.HealthChecks.Active.Transport transport := h.HealthChecks.Active.transport
if transport == nil { if transport == nil {
transport = h.Transport transport = h.Transport
} }