|
@ -43,6 +43,7 @@ type HealthChecks struct { |
|
|
type ActiveHealthChecks struct { |
|
|
type ActiveHealthChecks struct { |
|
|
Path string `json:"path,omitempty"` |
|
|
Path string `json:"path,omitempty"` |
|
|
Port int `json:"port,omitempty"` |
|
|
Port int `json:"port,omitempty"` |
|
|
|
|
|
Headers http.Header `json:"headers,omitempty"` |
|
|
Interval caddy.Duration `json:"interval,omitempty"` |
|
|
Interval caddy.Duration `json:"interval,omitempty"` |
|
|
Timeout caddy.Duration `json:"timeout,omitempty"` |
|
|
Timeout caddy.Duration `json:"timeout,omitempty"` |
|
|
MaxSize int64 `json:"max_size,omitempty"` |
|
|
MaxSize int64 `json:"max_size,omitempty"` |
|
@ -163,6 +164,9 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, host H |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
return fmt.Errorf("making request: %v", err) |
|
|
return fmt.Errorf("making request: %v", err) |
|
|
} |
|
|
} |
|
|
|
|
|
for key, hdrs := range h.HealthChecks.Active.Headers { |
|
|
|
|
|
req.Header[key] = hdrs |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// do the request, being careful to tame the response body
|
|
|
// do the request, being careful to tame the response body
|
|
|
resp, err := h.HealthChecks.Active.httpClient.Do(req) |
|
|
resp, err := h.HealthChecks.Active.httpClient.Do(req) |
|
|