mirror of
https://github.com/fankes/beszel.git
synced 2025-10-20 02:09:28 +08:00
- also added body closure I forgot earlier whoops
This commit is contained in:
@@ -28,6 +28,18 @@ type dockerManager struct {
|
|||||||
goodDockerVersion bool // Whether docker version is at least 25.0.0 (one-shot works correctly)
|
goodDockerVersion bool // Whether docker version is at least 25.0.0 (one-shot works correctly)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// userAgentRoundTripper is a custom http.RoundTripper that adds a User-Agent header to all requests
|
||||||
|
type userAgentRoundTripper struct {
|
||||||
|
rt http.RoundTripper
|
||||||
|
userAgent string
|
||||||
|
}
|
||||||
|
|
||||||
|
// RoundTrip implements the http.RoundTripper interface
|
||||||
|
func (u *userAgentRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||||
|
req.Header.Set("User-Agent", u.userAgent)
|
||||||
|
return u.rt.RoundTrip(req)
|
||||||
|
}
|
||||||
|
|
||||||
// Add goroutine to the queue
|
// Add goroutine to the queue
|
||||||
func (d *dockerManager) queue() {
|
func (d *dockerManager) queue() {
|
||||||
d.wg.Add(1)
|
d.wg.Add(1)
|
||||||
@@ -251,10 +263,16 @@ func newDockerManager(a *Agent) *dockerManager {
|
|||||||
slog.Info("DOCKER_TIMEOUT", "timeout", timeout)
|
slog.Info("DOCKER_TIMEOUT", "timeout", timeout)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Custom user-agent to avoid docker bug: https://github.com/docker/for-mac/issues/7575
|
||||||
|
userAgentTransport := &userAgentRoundTripper{
|
||||||
|
rt: transport,
|
||||||
|
userAgent: "Docker-Client/",
|
||||||
|
}
|
||||||
|
|
||||||
dockerClient := &dockerManager{
|
dockerClient := &dockerManager{
|
||||||
client: &http.Client{
|
client: &http.Client{
|
||||||
Timeout: timeout,
|
Timeout: timeout,
|
||||||
Transport: transport,
|
Transport: userAgentTransport,
|
||||||
},
|
},
|
||||||
containerStatsMap: make(map[string]*container.Stats),
|
containerStatsMap: make(map[string]*container.Stats),
|
||||||
sem: make(chan struct{}, 5),
|
sem: make(chan struct{}, 5),
|
||||||
@@ -276,6 +294,7 @@ func newDockerManager(a *Agent) *dockerManager {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return dockerClient
|
return dockerClient
|
||||||
}
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
if err := json.NewDecoder(resp.Body).Decode(&versionInfo); err != nil {
|
if err := json.NewDecoder(resp.Body).Decode(&versionInfo); err != nil {
|
||||||
return dockerClient
|
return dockerClient
|
||||||
|
Reference in New Issue
Block a user