feat(bun): Support new Bun.serve
APIs
#16035
Merged
+540
−175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Supercedes #15978
resolves #15941
resolves #15827
resolves #15816
Bun recently updated their
Bun.serve
API with new functionality, which unfortunately broke our existing instrumentation. This is detailed with https://bun.sh/docs/api/http#bun-serve. Specifically, they added a new routing API that looks like so:Because there are now dynamic routes and wildcard routes, we can actually generate
route
transaction source and send parameterized routes to Sentry. Thefetch
API is still supported.The only API we don't support is static routes/responses. This is because these are optimized by Bun itself, and if we turn it into a function (which we need to do to time it), we'll lose out on the optimization. For now they aren't instrumented.