Skip to content

Conversation

@runderwo
Copy link
Contributor

@runderwo runderwo commented Oct 13, 2025

Previously, there no connection from the HTTP client created by the AWS library to the built-in HTTP debugging callbacks. This change creates that path, so that HTTP traffic created by AWS HTTP clients can be debugged in the usual way (by enabling HTTP debugging at build time and supplying config variables in the output block).

Testing
Before we can approve your change; please submit the following in a comment:

  • Example configuration file for the change

To enable HTTP debugging output for an AWS service, add one or more of the following to an output section:

      _debug.http.request_headers: true
      _debug.http.request_payload: true
      _debug.http.response_headers: true
      _debug.http.response_payload: true
  • Debug log output from testing the change

Relevant log snippet (sanitized):

[2025/10/13 16:06:09] [debug] [output:kinesis_firehose:kinesis_firehose.XXX] firehose:PutRecordBatch: events=5, payload=2729 bytes
[2025/10/13 16:06:09] [debug] [output:kinesis_firehose:kinesis_firehose.XXX] Sending log records to delivery stream XXX
[2025/10/13 16:06:09] [debug] [upstream] KA connection #569 to us-east-1.aws.x.y.z:15173 is connected
[2025/10/13 16:06:09] [debug] [http_client] not using http_proxy for header
[2025/10/13 16:06:09] [debug] [http] request headers
POST / HTTP/1.1
Host: us-east-1.aws.x.y.z:1234
Content-Length: 2729
User-Agent: aws-fluent-bit-plugin
Content-Type: application/x-amz-json-1.1
X-Amz-Target: Firehose_20150804.PutRecordBatch
x-amz-date: 20251013T160609Z
Authorization: AWS4-HMAC-SHA256 Credential=XXX
Connection: keep-alive


[2025/10/13 16:06:09] [debug] [http] request payload (2729 bytes)
{"DeliveryStreamName":"atlas-kinesis-splunk","Records":[{"Data":"<snip>"},{"Data":"<snip>"},{"Data":"<snip>"},{"Data":"<snip>"}]}
[2025/10/13 16:06:09] [debug] [http] response headers
HTTP/1.1 200 OK
x-amzn-RequestId: xxx
x-amz-id-2: yyy
Content-Type: application/x-amz-json-1.1
Content-Length: 1259
Date: Mon, 13 Oct 2025 16:06:09 GMT


[2025/10/13 16:06:09] [debug] [http] response payload (1259 bytes)
{"Encrypted":false,"FailedPutCount":0,"RequestResponses":[{"RecordId":"<snip>"},{"RecordId":"<snip>"},{"RecordId":"<snip>"},{"RecordId":"<snip>"},{"RecordId":"<snip>"}]}
  • Attached Valgrind output that shows no leaks or memory corruption was found
==362092== 
==362092== HEAP SUMMARY:
==362092==     in use at exit: 13,874 bytes in 49 blocks
==362092==   total heap usage: 247,903 allocs, 247,854 frees, 58,923,676 bytes allocated
==362092== 
==362092== LEAK SUMMARY:
==362092==    definitely lost: 0 bytes in 0 blocks
==362092==    indirectly lost: 0 bytes in 0 blocks
==362092==      possibly lost: 0 bytes in 0 blocks
==362092==    still reachable: 13,874 bytes in 49 blocks
==362092==         suppressed: 0 bytes in 0 blocks
==362092== Reachable blocks (those to which a pointer was found) are not shown.
==362092== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==362092== 
==362092== For lists of detected and suppressed errors, rerun with: -s
==362092== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Documentation

  • Documentation required for this feature

I can't tell if the HTTP debug callback configuration keys are documented somewhere; I had to find them and guess how to use them by reading code.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

Summary by CodeRabbit

  • New Features

    • Added a callback context to the AWS client to enable richer HTTP request handling and debug hooks.
  • Refactor

    • Integrated the AWS client callback into the HTTP request flow and output plugin debug setup.
  • Bug Fixes

    • Fail-fast behavior when callback setup during AWS client initialization fails.
  • Chores

    • Ensure proper cleanup of the callback resource during client teardown.

@coderabbitai
Copy link

coderabbitai bot commented Oct 13, 2025

Walkthrough

Added a public http_cb_ctx pointer to struct flb_aws_client. Creation now allocates this callback and returns NULL on allocation failure. Requests propagate the callback to the HTTP client. The callback is destroyed on client teardown. Firehose plugin calls HTTP client debug setup during init.

Changes

Cohort / File(s) Summary
Public AWS client struct update
include/fluent-bit/flb_aws_util.h
Added field struct flb_callback *http_cb_ctx; to struct flb_aws_client (placed after debug_only).
AWS client lifecycle and request wiring
src/aws/flb_aws_util.c
flb_aws_client_create() initializes client->http_cb_ctx via flb_callback_create("aws client") and returns NULL on failure; flb_aws_client_destroy() calls flb_callback_destroy() on http_cb_ctx; request_do() assigns c->cb_ctx = aws_client->http_cb_ctx before using the HTTP client.
Firehose plugin: HTTP debug setup
plugins/out_kinesis_firehose/firehose.c
Added #include for flb_http_client_debug.h; during cb_firehose_init calls flb_http_client_debug_setup(ctx->firehose_client->http_cb_ctx, &ins->properties) and logs an error / aborts init on negative return.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant App as Caller
  participant AWS as flb_aws_client_create()
  participant CB as flb_callback_create()
  participant CL as flb_aws_client

  App->>AWS: create()
  AWS->>CB: flb_callback_create("aws client")
  alt Callback created
    CB-->>AWS: flb_callback*
    AWS-->>App: flb_aws_client* (with http_cb_ctx)
  else Creation fails
    CB-->>AWS: NULL
    AWS-->>App: NULL (early return)
  end
Loading
sequenceDiagram
  autonumber
  participant CL as flb_aws_client
  participant RQ as request_do()
  participant HC as HTTP Client

  CL->>RQ: make request
  RQ->>RQ: c->cb_ctx = CL.http_cb_ctx
  RQ->>HC: init/send with cb_ctx
  HC-->>RQ: response / error
  RQ-->>CL: result
Loading
sequenceDiagram
  autonumber
  participant App as Caller
  participant D as flb_aws_client_destroy()
  participant CL as flb_aws_client

  App->>D: destroy(CL)
  D->>CL: flb_callback_destroy(CL->http_cb_ctx)
  D-->>App: done
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

I twitch my whiskers, find a hook,
A tiny callback joins the book.
It hops into requests with cheer,
If creation fails, we stop here.
I tidy up and bound away—hooray! 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "Enable HTTP debugging for AWS client requests" directly and accurately reflects the main objective of the changeset. The modifications add HTTP callback context support to the AWS client library and integrate HTTP debugging setup in the Kinesis Firehose plugin, enabling users to capture and debug AWS service HTTP traffic through Fluent Bit's built-in HTTP debugging mechanism. The title is concise, specific, and clearly conveys the primary change without vague terminology or unnecessary details. A teammate scanning the repository history would immediately understand that this change introduces HTTP debugging capabilities for AWS requests.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2b16b24 and 7e4d2c2.

📒 Files selected for processing (2)
  • include/fluent-bit/flb_aws_util.h (1 hunks)
  • src/aws/flb_aws_util.c (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/aws/flb_aws_util.c (1)
include/fluent-bit/flb_mem.h (1)
  • flb_free (126-128)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (30)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit (Arm64), amd64_arm64, -DCMAKE_SYSTEM_NAME=Windows -DCMA...
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 32bit, x86, x86-windows-static, 3.31.6)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit, x64, x64-windows-static, 3.31.6)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_ARROW=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_COVERAGE=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, gcc, g++)
  • GitHub Check: pr-compile-centos-7
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, gcc, g++)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-22.04, clang-12)
  • GitHub Check: pr-compile-without-cxx (3.31.6)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-24.04, clang-14)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-24.04, clang-14)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-22.04, clang-12)
  • GitHub Check: PR - fuzzing test
🔇 Additional comments (2)
include/fluent-bit/flb_aws_util.h (1)

105-107: LGTM!

The new callback field is appropriately placed in the struct with a clear comment describing its purpose.

src/aws/flb_aws_util.c (1)

395-396: LGTM!

The callback is correctly wired into the HTTP client context for debugging purposes.

client->client_vtable = &client_vtable;
client->retry_requests = FLB_FALSE;
client->debug_only = FLB_FALSE;
client->callback = flb_callback_create("aws client"); // FIXME: what name?
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

Address the FIXME comment.

The FIXME comment suggests uncertainty about the callback name. Consider using a more descriptive name that reflects the purpose, such as "aws_http_debug" or removing the comment if "aws client" is appropriate.

🤖 Prompt for AI Agents
In src/aws/flb_aws_util.c around line 271, the callback is created with a vague
name and a FIXME comment: replace the placeholder "aws client" with a clearer,
purpose-bearing identifier (for example "aws_http_debug" or
"aws_client_callback") that reflects the callback's role, or remove the FIXME
and leave the existing name if it is already deemed appropriate; update the
string passed to flb_callback_create accordingly and ensure the chosen name is
consistent with other callbacks in the codebase.

@edsiper
Copy link
Member

edsiper commented Oct 13, 2025

  • why is this change needed ?
  • what's the end-user outcome ?
  • fix DCO (sign-off)

Signed-off-by: Ryan Underwood <[email protected]>
It's conditional on a build flag, so it's no-op by default.

Signed-off-by: Ryan Underwood <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7ac03a2 and 62f98ed.

📒 Files selected for processing (1)
  • plugins/out_kinesis_firehose/firehose.c (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (30)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit (Arm64), amd64_arm64, -DCMAKE_SYSTEM_NAME=Windows -DCMA...
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit, x64, x64-windows-static, 3.31.6)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 32bit, x86, x86-windows-static, 3.31.6)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-24.04, clang-14)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-22.04, clang-12)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-24.04, clang-14)
  • GitHub Check: pr-compile-without-cxx (3.31.6)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-22.04, clang-12)
  • GitHub Check: pr-compile-centos-7
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_COVERAGE=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_ARROW=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, clang, clang++)
  • GitHub Check: PR - fuzzing test

Signed-off-by: Ryan Underwood <[email protected]>
Signed-off-by: Ryan Underwood <[email protected]>
Copy link
Contributor

@cosmo0920 cosmo0920 left a comment

Choose a reason for hiding this comment

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

I added a nitpick comment.
The logic of PR is reasonable so we only need to follow contributor guideline.

@runderwo
Copy link
Contributor Author

I added a nitpick comment. The logic of PR is reasonable so we only need to follow contributor guideline.

Resolved that since the client name was considered acceptable.

Signed-off-by: Ryan Underwood <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 909b105 and 4daa282.

📒 Files selected for processing (1)
  • src/aws/flb_aws_util.c (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/aws/flb_aws_util.c (1)
include/fluent-bit/flb_mem.h (1)
  • flb_free (126-128)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (30)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit (Arm64), amd64_arm64, -DCMAKE_SYSTEM_NAME=Windows -DCMA...
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 64bit, x64, x64-windows-static, 3.31.6)
  • GitHub Check: pr-windows-build / call-build-windows-package (Windows 32bit, x86, x86-windows-static, 3.31.6)
  • GitHub Check: pr-compile-without-cxx (3.31.6)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-22.04, clang-12)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-22.04, clang-12)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, gcc, g++, ubuntu-24.04, clang-14)
  • GitHub Check: pr-compile-system-libs (-DFLB_PREFER_SYSTEM_LIBS=On, 3.31.6, clang, clang++, ubuntu-24.04, clang-14)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, clang, clang++)
  • GitHub Check: pr-compile-centos-7
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_ARROW=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_THREAD=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SIMD=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_COVERAGE=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SANITIZE_MEMORY=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=Off, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_SMALL=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_ADDRESS=On, 3.31.6, clang, clang++)
  • GitHub Check: run-ubuntu-unit-tests (-DSANITIZE_UNDEFINED=On, 3.31.6, gcc, g++)
  • GitHub Check: run-ubuntu-unit-tests (-DFLB_JEMALLOC=On, 3.31.6, gcc, g++)
  • GitHub Check: PR - fuzzing test
🔇 Additional comments (2)
src/aws/flb_aws_util.c (2)

271-276: LGTM! Proper error handling for callback creation.

The callback creation with error handling is correct. On failure, the code properly calls flb_errno(), frees the allocated client, and returns NULL, preventing memory leaks.


396-397: LGTM! Correct propagation of callback context.

The callback context is properly propagated to the HTTP client, enabling HTTP debugging for AWS requests as intended by this PR.

@runderwo
Copy link
Contributor Author

@cosmo0920 I'm unable to re-request review through the UI for some reason, so please re-review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants