Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
da84de9
http_client: add version and git hash to default User-Agent header
endersonmaia Feb 6, 2026
88dd93e
aws: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
23354a3
tests: update http_client test for new User-Agent header
endersonmaia Feb 6, 2026
6d172fb
filter_ecs: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
8eb6eaa
filter_kubernetes: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
60843d2
filter_nightfall: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
ae82787
in_calyptia_fleet: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
463f72d
in_kubernetes_events: use standardized User-Agent header with version…
endersonmaia Feb 6, 2026
47dd194
in_nginx_exporter_metrics: use standardized User-Agent header with ve…
endersonmaia Feb 6, 2026
d6f14ac
in_prometheus_scrape: use standardized User-Agent header with version…
endersonmaia Feb 6, 2026
72a7fb1
out_azure: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
e8b147a
out_azure_blob: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
26f331d
out_azure_kusto: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
a6f6d1a
out_azure_logs_ingestion: use standardized User-Agent header with ver…
endersonmaia Feb 6, 2026
98d72f5
out_bigquery: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
f78d3df
out_chronicle: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
777a8f9
out_datadog: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
dfb87d6
out_es: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
fc6e68f
out_http: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
3a10b00
out_influxdb: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
d988ee6
out_kafka_rest: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
d2447b0
out_logdna: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
a9fce80
out_loki: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
75f7a17
out_nrlogs: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
d49970a
out_opensearch: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
f3acd33
out_opentelemetry: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
dd5bbcc
out_prometheus_remote_write: use standardized User-Agent header
endersonmaia Feb 6, 2026
cfd4f63
out_s3: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
9d70d7d
out_skywalking: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
e0e2e1b
out_slack: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
bd65e75
out_splunk: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
91ad547
out_stackdriver: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
dc60b54
out_td: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
e90dcce
out_websocket: use standardized User-Agent header with version info
endersonmaia Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions include/fluent-bit/flb_http_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#ifndef FLB_HTTP_CLIENT_H
#define FLB_HTTP_CLIENT_H

#include <fluent-bit/flb_version.h>
#include <fluent-bit/flb_io.h>
#include <fluent-bit/flb_lock.h>
#include <fluent-bit/flb_upstream.h>
Expand Down Expand Up @@ -71,12 +72,14 @@
#define FLB_HTTP_CHUNK_AVAILABLE 3 /* means chunk is available, but there is more data. end of all chunks returns FLB_HTTP_OK */

/* Useful headers */
#define FLB_HTTP_HEADER_AUTH "Authorization"
#define FLB_HTTP_HEADER_PROXY_AUTH "Proxy-Authorization"
#define FLB_HTTP_HEADER_CONTENT_TYPE "Content-Type"
#define FLB_HTTP_HEADER_CONTENT_ENCODING "Content-Encoding"
#define FLB_HTTP_HEADER_CONNECTION "Connection"
#define FLB_HTTP_HEADER_KA "keep-alive"
#define FLB_HTTP_HEADER_AUTH "Authorization"
#define FLB_HTTP_HEADER_PROXY_AUTH "Proxy-Authorization"
#define FLB_HTTP_HEADER_CONTENT_TYPE "Content-Type"
#define FLB_HTTP_HEADER_CONTENT_ENCODING "Content-Encoding"
#define FLB_HTTP_HEADER_CONNECTION "Connection"
#define FLB_HTTP_HEADER_KA "keep-alive"
#define FLB_HTTP_HEADER_USER_AGENT "User-Agent"
#define FLB_HTTP_HEADER_USER_AGENT_DEFAULT "Fluent-Bit/" FLB_VERSION_STR " (Git commit: " FLB_GIT_HASH ")"

#define FLB_HTTP_CLIENT_HEADER_ARRAY 0
#define FLB_HTTP_CLIENT_HEADER_LIST 1
Expand Down
12 changes: 10 additions & 2 deletions plugins/filter_ecs/ecs.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,11 @@ static int get_ecs_cluster_metadata(struct flb_filter_ecs *ctx)
NULL, 0);
flb_http_buffer_size(c, 0); /* 0 means unlimited */

flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

ret = flb_http_do(c, &b_sent);
flb_plg_debug(ctx->ins, "http_do=%i, "
Expand Down Expand Up @@ -1009,7 +1013,11 @@ static int get_task_metadata(struct flb_filter_ecs *ctx, char* short_id)
NULL, 0);
flb_http_buffer_size(c, 0); /* 0 means unlimited */

flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

ret = flb_http_do(c, &b_sent);
flb_plg_debug(ctx->ins, "http_do=%i, "
Expand Down
6 changes: 5 additions & 1 deletion plugins/filter_kubernetes/kube_meta.c
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,11 @@ static int get_meta_info_from_request(struct flb_kube *ctx,
NULL, 0, NULL, 0, NULL, 0);
flb_http_buffer_size(c, ctx->buffer_size);

flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Connection", 10, "close", 5);
if (ctx->auth_len > 0) {
flb_http_add_header(c, "Authorization", 13, ctx->auth, ctx->auth_len);
Expand Down
6 changes: 5 additions & 1 deletion plugins/filter_nightfall/nightfall_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,11 @@ int scan_log(struct flb_filter_nightfall *ctx, msgpack_object *data,
flb_http_buffer_size(client, 0);

flb_http_add_header(client, "Authorization", 13, ctx->auth_header, 42);
flb_http_add_header(client, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(client, "Content-Type", 12, "application/json", 16);

/* Perform request */
Expand Down
7 changes: 7 additions & 0 deletions plugins/in_calyptia_fleet/in_calyptia_fleet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,13 @@ static struct flb_http_client *fleet_http_do(struct flb_in_calyptia_fleet_config
CALYPTIA_HEADERS_PROJECT, sizeof(CALYPTIA_HEADERS_PROJECT) - 1,
ctx->api_key, flb_sds_len(ctx->api_key));

/* User-Agent */
flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

ret = flb_http_do(client, &b_sent);
if (ret != 0) {
flb_plg_error(ctx->ins, "http do error");
Expand Down
6 changes: 5 additions & 1 deletion plugins/in_kubernetes_events/kubernetes_events.c
Original file line number Diff line number Diff line change
Expand Up @@ -779,7 +779,11 @@ static void initialize_http_client(struct flb_http_client* c, struct k8s_events*
{
flb_http_buffer_size(c, 0);

flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
if (ctx->auth_len > 0) {
flb_http_add_header(c, "Authorization", 13, ctx->auth, ctx->auth_len);
}
Expand Down
7 changes: 7 additions & 0 deletions plugins/in_nginx_exporter_metrics/nginx.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,13 @@ static int nginx_collect_stub_status(struct flb_input_instance *ins,
goto client_error;
}

/* User-Agent */
flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
Comment on lines +136 to +141
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Check the return value to avoid silently skipping the User-Agent.

If flb_http_add_header fails (e.g., allocation failure), the request proceeds without the header, which can reintroduce the 418 behavior this PR aims to fix. Consider aborting the request on failure.

Suggested fix
-    flb_http_add_header(client,
-                        FLB_HTTP_HEADER_USER_AGENT,
-                        sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
-                        FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
-                        sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
+    if (flb_http_add_header(client,
+                            FLB_HTTP_HEADER_USER_AGENT,
+                            sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
+                            FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
+                            sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1) < 0) {
+        flb_plg_error(ins, "failed to add User-Agent header");
+        goto http_error;
+    }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
/* User-Agent */
flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
/* User-Agent */
if (flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1) < 0) {
flb_plg_error(ins, "failed to add User-Agent header");
goto http_error;
}
🧰 Tools
🪛 Cppcheck (2.19.0)

[error] 140-140: There is an unknown macro here somewhere. Configuration is required. If FLB_VERSION_STR is a macro then please configure it.

(unknownMacro)

🤖 Prompt for AI Agents
In `@plugins/in_nginx_exporter_metrics/nginx.c` around lines 136 - 141, The call
to flb_http_add_header(…, FLB_HTTP_HEADER_USER_AGENT, …) must have its return
value checked and handled; if it fails (e.g., allocation error) abort
building/sending the request instead of continuing without the header. Update
the code around the flb_http_add_header invocation to test the return value, log
an error, free/cleanup any request/client resources as done on other failures,
and return an error/early-exit from the enclosing function (or propagate an
error code) so the request is not sent without the User-Agent header.


ret = flb_http_do(client, &b_sent);
if (ret != 0) {
flb_plg_error(ins, "http do error");
Expand Down
6 changes: 5 additions & 1 deletion plugins/in_prometheus_scrape/prom_scrape.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,11 @@ static int collect_metrics(struct prom_scrape *ctx)
}

/* Add User-Agent */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

ret = flb_http_do(c, &b_sent);
if (ret != 0) {
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_azure/azure.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,11 @@ static int build_headers(struct flb_http_client *c,
tmp[olen] = '\0';

/* Append headers */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Log-Type", 8,
log_type, flb_sds_len(log_type));
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);
Expand Down
6 changes: 4 additions & 2 deletions plugins/out_azure_blob/azure_blob_conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -448,8 +448,10 @@ static int flb_azure_blob_apply_remote_configuration(struct flb_azure_blob *cont

/* User Agent */
flb_http_add_header(http_client,
"User-Agent", 10,
"Fluent-Bit", 10);
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

if (context->configuration_endpoint_username != NULL &&
context->configuration_endpoint_password != NULL) {
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_azure_blob/azure_blob_http.c
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,11 @@ int azb_http_client_setup(struct flb_azure_blob *ctx, struct flb_http_client *c,
flb_sds_t auth;

/* Header: User Agent */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

/* Header: Content-Type */
if (content_type == AZURE_BLOB_CT_JSON) {
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_azure_kusto/azure_kusto.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,11 @@ flb_sds_t execute_ingest_csl_command(struct flb_azure_kusto *ctx, const char *cs

if (c) {
/* Add headers */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);
flb_http_add_header(c, "Accept", 6, "application/json", 16);
flb_http_add_header(c, "Authorization", 13, token,
Expand Down
12 changes: 10 additions & 2 deletions plugins/out_azure_kusto/azure_kusto_ingest.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,11 @@ static flb_sds_t azure_kusto_create_blob(struct flb_azure_kusto *ctx, flb_sds_t
NULL, 0);

if (c) {
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);
flb_http_add_header(c, "x-ms-blob-type", 14, "BlockBlob", 9);
flb_http_add_header(c, "x-ms-date", 9, tmp, len);
Expand Down Expand Up @@ -456,7 +460,11 @@ static int azure_kusto_enqueue_ingestion(struct flb_azure_kusto *ctx, flb_sds_t
flb_sds_len(payload), NULL, 0, NULL, 0);

if (c) {
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/atom+xml",
20);
flb_http_add_header(c, "x-ms-date", 9, tmp, len);
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_azure_logs_ingestion/azure_logs_ingestion.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,11 @@ static void cb_azure_logs_ingestion_flush(struct flb_event_chunk *event_chunk,
}

/* Append headers */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);
if (is_compressed) {
flb_http_add_header(c, "Content-Encoding", 16, "gzip", 4);
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_bigquery/bigquery.c
Original file line number Diff line number Diff line change
Expand Up @@ -1017,7 +1017,11 @@ static void cb_bigquery_flush(struct flb_event_chunk *event_chunk,
}

flb_http_buffer_size(c, 4192);
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);

/* Compose and append Authorization header */
Expand Down
12 changes: 10 additions & 2 deletions plugins/out_chronicle/chronicle.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,11 @@ static int check_chronicle_log_type(struct flb_chronicle *ctx, struct flb_config

/* Chronicle supported types are growing. Not to specify the read limit. */
flb_http_buffer_size(c, 0);
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);

/* Compose and append Authorization header */
Expand Down Expand Up @@ -1050,7 +1054,11 @@ static void cb_chronicle_flush(struct flb_event_chunk *event_chunk,
}

flb_http_buffer_size(c, 4192);
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(c, "Content-Type", 12, "application/json", 16);

/* Compose and append Authorization header */
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_datadog/datadog.c
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,11 @@ static void cb_datadog_flush(struct flb_event_chunk *event_chunk,
}

/* Add the required headers to the URI */
flb_http_add_header(client, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(client,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
flb_http_add_header(client, FLB_DATADOG_API_HDR, sizeof(FLB_DATADOG_API_HDR) - 1, ctx->api_key, flb_sds_len(ctx->api_key));
flb_http_add_header(client, FLB_DATADOG_ORIGIN_HDR, sizeof(FLB_DATADOG_ORIGIN_HDR) - 1, "Fluent-Bit", 10);
flb_http_add_header(client, FLB_DATADOG_ORIGIN_VERSION_HDR, sizeof(FLB_DATADOG_ORIGIN_VERSION_HDR) - 1, FLB_VERSION_STR, sizeof(FLB_VERSION_STR) - 1);
Expand Down
17 changes: 14 additions & 3 deletions plugins/out_es/es.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,10 @@ static flb_sds_t add_aws_auth(struct flb_http_client *c,
}

/* AWS Fluent Bit user agent */
flb_http_add_header(c, "User-Agent", 10, "aws-fluent-bit-plugin", 21);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
"aws-fluent-bit-plugin", 21);

signature = flb_signv4_do(c, FLB_TRUE, FLB_TRUE, time(NULL),
ctx->aws_region, ctx->aws_service_name,
Expand Down Expand Up @@ -878,7 +881,11 @@ static void cb_es_flush(struct flb_event_chunk *event_chunk,
flb_http_buffer_size(c, ctx->buffer_size);

#ifndef FLB_HAVE_AWS
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
#endif

flb_http_add_header(c, "Content-Type", 12, "application/x-ndjson", 20);
Expand Down Expand Up @@ -917,7 +924,11 @@ static void cb_es_flush(struct flb_event_chunk *event_chunk,
}
}
else {
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
}
#endif

Expand Down
6 changes: 5 additions & 1 deletion plugins/out_http/http.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,11 @@ static int http_request(struct flb_out_http *ctx,
flb_http_basic_auth(c, ctx->http_user, ctx->http_passwd);
}

flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

flb_config_map_foreach(head, mv, ctx->headers) {
key = mk_list_entry_first(mv->val.list, struct flb_slist_entry, _head);
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_influxdb/influxdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,11 @@ static void cb_influxdb_flush(struct flb_event_chunk *event_chunk,
/* Compose HTTP Client request */
c = flb_http_client(u_conn, FLB_HTTP_POST, ctx->uri,
pack, bytes_out, NULL, 0, NULL, 0);
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

if (ctx->http_token) {
ret = snprintf(tmp, sizeof(tmp) - 1, "Token %s", ctx->http_token);
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_kafka_rest/kafka.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,11 @@ static void cb_kafka_flush(struct flb_event_chunk *event_chunk,
/* Compose HTTP Client request */
c = flb_http_client(u_conn, FLB_HTTP_POST, ctx->uri,
js, js_size, NULL, 0, NULL, 0);
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);
if (ctx->avro_http_header == FLB_TRUE) {
flb_http_add_header(c,
"Content-Type", 12,
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_logdna/logdna.c
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,11 @@ static void cb_logdna_flush(struct flb_event_chunk *event_chunk,
flb_http_set_callback_context(c, ctx->ins->callback);

/* User Agent */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

/* Add Content-Type header */
flb_http_add_header(c,
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_loki/loki.c
Original file line number Diff line number Diff line change
Expand Up @@ -1919,7 +1919,11 @@ static void cb_loki_flush(struct flb_event_chunk *event_chunk,
flb_http_set_callback_context(c, ctx->ins->callback);

/* User Agent */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

/* Auth headers */
if (ctx->http_user && ctx->http_passwd) { /* Basic */
Expand Down
6 changes: 5 additions & 1 deletion plugins/out_nrlogs/newrelic.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,11 @@ static void cb_newrelic_flush(struct flb_event_chunk *event_chunk,
flb_http_set_callback_context(c, ctx->ins->callback);

/* User Agent */
flb_http_add_header(c, "User-Agent", 10, "Fluent-Bit", 10);
flb_http_add_header(c,
FLB_HTTP_HEADER_USER_AGENT,
sizeof(FLB_HTTP_HEADER_USER_AGENT) - 1,
FLB_HTTP_HEADER_USER_AGENT_DEFAULT,
sizeof(FLB_HTTP_HEADER_USER_AGENT_DEFAULT) - 1);

/* API / License Key */
if (ctx->license_key) {
Expand Down
Loading
Loading