Skip to content

Add request ID propagation to server logs and responses#12

Open
fantaJinMode wants to merge 1 commit intoLinkForty:mainfrom
fantaJinMode:add_request_id_log_output
Open

Add request ID propagation to server logs and responses#12
fantaJinMode wants to merge 1 commit intoLinkForty:mainfrom
fantaJinMode:add_request_id_log_output

Conversation

@fantaJinMode
Copy link
Contributor

Description

Attaches a unique request ID to every HTTP request, honoring inbound x-request-id headers and echoing the ID back in responses. This makes distributed tracing and log correlation straightforward.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • ♻️ Code refactoring
  • ⚡ Performance improvement
  • ✅ Test addition or update

Changes Made

  • Use inbound x-request-id header as the request ID when present, otherwise generate a UUID
  • Added onSend hook to echo the resolved request ID back via x-request-id response header

Testing

  • Tests pass locally (npm test)
  • New tests added for new functionality
  • Existing tests updated (if needed)
  • Type checking passes (npm run typecheck)

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have used conventional commit messages (e.g., feat:, fix:)
  • I have signed the Contributor License Agreement (the CLA bot will prompt you)

Breaking Changes

None

Additional Notes

Why It Was Needed

Without a consistent request ID, correlating log entries across services (or debugging a specific client request) required guesswork. Propagating and reflecting the x-request-id header is a standard observability practice.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@codecov
Copy link

codecov bot commented Mar 11, 2026

Codecov Report

❌ Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/index.ts 0.00% 6 Missing ⚠️

📢 Thoughts on this report? Let us know!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants