From f33d0a54c4919f170c638dffd45bf98dbaa257be Mon Sep 17 00:00:00 2001 From: logikonline Date: Sun, 25 Jan 2026 14:31:47 -0500 Subject: [PATCH] refactor(client): simplify HTTP client and reporter daemon implementation Use http.DefaultClient when TLS verification is not skipped, removing unnecessary custom transport configuration. Replace select-based daemon loop with time.AfterFunc for cleaner implementation and remove verbose error logging in RunDaemon. --- internal/pkg/client/http.go | 23 +++++++---------------- internal/pkg/report/reporter.go | 16 +++------------- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/internal/pkg/client/http.go b/internal/pkg/client/http.go index ab9beec..65529cc 100644 --- a/internal/pkg/client/http.go +++ b/internal/pkg/client/http.go @@ -8,7 +8,6 @@ import ( "crypto/tls" "net/http" "strings" - "time" "code.gitea.io/actions-proto-go/ping/v1/pingv1connect" "code.gitea.io/actions-proto-go/runner/v1/runnerv1connect" @@ -16,24 +15,16 @@ import ( ) func getHTTPClient(endpoint string, insecure bool) *http.Client { - transport := &http.Transport{ - MaxIdleConns: 10, - MaxIdleConnsPerHost: 5, - IdleConnTimeout: 90 * time.Second, - TLSHandshakeTimeout: 10 * time.Second, - DisableKeepAlives: false, - } - if strings.HasPrefix(endpoint, "https://") && insecure { - transport.TLSClientConfig = &tls.Config{ - InsecureSkipVerify: true, + return &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: &tls.Config{ + InsecureSkipVerify: true, + }, + }, } } - - return &http.Client{ - Transport: transport, - Timeout: 30 * time.Second, - } + return http.DefaultClient } // New returns a new runner client. diff --git a/internal/pkg/report/reporter.go b/internal/pkg/report/reporter.go index 97804e8..50c9044 100644 --- a/internal/pkg/report/reporter.go +++ b/internal/pkg/report/reporter.go @@ -190,20 +190,10 @@ func (r *Reporter) RunDaemon() { return } - if err := r.ReportLog(false); err != nil { - log.WithError(err).Warn("failed to report log") - } - if err := r.ReportState(); err != nil { - log.WithError(err).Warn("failed to report state") - } + _ = r.ReportLog(false) + _ = r.ReportState() - // Use select with context to allow clean shutdown - select { - case <-r.ctx.Done(): - return - case <-time.After(time.Second): - r.RunDaemon() - } + time.AfterFunc(time.Second, r.RunDaemon) } // Logf adds a formatted log message to the report.