From 6114256c28f25ef96da1a45fda64d131aa97ec05 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 05:15:38 +0000 Subject: [PATCH] x-pack/filebeat/input/cel: make http functions always available (#40912) (#40933) HTTP functions were previously conditional on the resource URL being an HTTP/HTTPS URL. In hindsight, this offers no benefits and can result in confusing errors when the end user enters an invalid URL for an HTTP-based integration. Instead of a URL-related or HTTP-related error, the user is given a compilation error indicating that the HTTP-related function that are being called (and they may not be aware of in any way) are not valid references. So let's just always make them available. (cherry picked from commit 14337dd3512195843c16c5d0e5aa004d7217f5d0) Co-authored-by: Dan Kortschak --- x-pack/filebeat/input/cel/config.go | 6 +----- x-pack/filebeat/input/cel/input.go | 7 +------ 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/x-pack/filebeat/input/cel/config.go b/x-pack/filebeat/input/cel/config.go index 7469120f8f2..992f97e4362 100644 --- a/x-pack/filebeat/input/cel/config.go +++ b/x-pack/filebeat/input/cel/config.go @@ -81,15 +81,11 @@ func (c config) Validate() error { return fmt.Errorf("failed to check regular expressions: %w", err) } // TODO: Consider just building the program here to avoid this wasted work. - var client *http.Client - if wantClient(c) { - client = &http.Client{} - } var patterns map[string]*regexp.Regexp if len(c.Regexps) != 0 { patterns = map[string]*regexp.Regexp{".": nil} } - _, _, err = newProgram(context.Background(), c.Program, root, client, nil, nil, patterns, c.XSDs, logp.L().Named("input.cel"), nil) + _, _, err = newProgram(context.Background(), c.Program, root, &http.Client{}, nil, nil, patterns, c.XSDs, logp.L().Named("input.cel"), nil) if err != nil { return fmt.Errorf("failed to check program: %w", err) } diff --git a/x-pack/filebeat/input/cel/input.go b/x-pack/filebeat/input/cel/input.go index 2096383de39..466950836ee 100644 --- a/x-pack/filebeat/input/cel/input.go +++ b/x-pack/filebeat/input/cel/input.go @@ -727,9 +727,6 @@ func getLimit(which string, rateLimit map[string]interface{}, log *logp.Logger) const lumberjackTimestamp = "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]-[0-9][0-9]-[0-9][0-9].[0-9][0-9][0-9]" func newClient(ctx context.Context, cfg config, log *logp.Logger, reg *monitoring.Registry) (*http.Client, *httplog.LoggingRoundTripper, error) { - if !wantClient(cfg) { - return nil, nil, nil - } c, err := cfg.Resource.Transport.Client(clientOptions(cfg.Resource.URL.URL, cfg.Resource.KeepAlive.settings())...) if err != nil { return nil, nil, err @@ -1012,14 +1009,12 @@ func newProgram(ctx context.Context, src, root string, client *http.Client, limi lib.Debug(debug(log, trace)), lib.File(mimetypes), lib.MIME(mimetypes), + lib.HTTPWithContext(ctx, client, limiter, auth), lib.Limit(limitPolicies), lib.Globals(map[string]interface{}{ "useragent": userAgent, }), } - if client != nil { - opts = append(opts, lib.HTTPWithContext(ctx, client, limiter, auth)) - } if len(patterns) != 0 { opts = append(opts, lib.Regexp(patterns)) }