fix(evh): rename Transport.bind + null AwsLambdaContext - #5360
Merged
Conversation
"extract" read backwards — the method pushes raw platform args INTO the container, it doesn't pull anything out. "bind" describes what it does (binds transport primitives into the per-request container). Renamed across the Transport interface, noopTransport, the createHandler call site, and awsLambdaTransport. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
FunctionUrlEventType and FunctionUrlTranslator were scaffolded but never wired into any feature, handler, or template — only their own tests referenced them. Remove both, their index exports, and the covering tests. Nothing else in the repo referenced Function URLs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…bject) Per review feedback: instead of conditionally registering AwsLambdaContext only when a Lambda context is present (which forces consumers to handle a missing registration), always register one. AwsLambdaContext is now an IAwsLambdaContext with isSet()/get(); the transport binds an AwsLambdaContextValue when a context exists and a NullAwsLambdaContext when it doesn't. NullAwsLambdaContext.isSet() returns false and get() returns an empty placeholder context (all fields defaulted, callbacks no-op) rather than null, so consumers resolve AwsLambdaContext unconditionally, branch on isSet(), and never null-check get(). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
adrians5j
force-pushed
the
adrian/ev-handler-1-2026-07-03
branch
from
July 3, 2026 08:31
bca67c7 to
11c65e7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What changed
Three small follow-up cleanups on the event-handler layer, on top of the Transport refactor that landed in #5359. No behavior change for end users or API consumers.
Transport.extract→Transport.bind. The method name read backwards — it pushes raw platform args into the request container, it doesn't pull anything out.binddescribes what it does. Renamed across theTransportinterface,noopTransport, thecreateHandlercall site, andawsLambdaTransport.FunctionUrlEventTypeandFunctionUrlTranslatorwere scaffolded but never wired into any feature, handler, or template — only their own tests referenced them. Removed both, their index exports, and the covering tests.AwsLambdaContext(null object). Per review feedback: instead of registeringAwsLambdaContextonly when a Lambda context is present (which forces consumers to handle a missing registration), always register one. It's now anIAwsLambdaContextwithisSet()/get(); the transport binds a real value when a context exists and aNullAwsLambdaContext(isSet() === false) when it doesn't, so consumers can resolve it unconditionally and branch onisSet().Changelog
Title line: Tidy up the event handler transport layer
Body: Internal cleanups to the request-handling layer: clearer naming, removal of an unused code path that was never hooked up, and a more robust way of exposing the AWS Lambda context so downstream code never has to guard against it being absent. No change to how applications behave.
Squash Merge Commit