fix: resolve endpoint in command serializer #162
Merged
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.
Replaces: #161
Fixes: #158
CodeGen: aws/aws-sdk-js-v3#1106
The SerDeContext contains endpoint config that used to be a provider
function returning a promise of Endpoint,
and it is resolved in serializer middleware. It introduces mismatch
between SerDeContext type and the value, where the value contains
resolved endpoint but the type is a provider function returning Endpoint
promise. This change assumes the SerDeContext.endpoint is actually
a provider function and only resolve the promise when constructing
a request.
This change also fixes a bug introduced in #160. By default the parsed
endpoint will have a default
path
:/
, which will then incorrectlyoverride the path from operation model. By this change, the default
endpoint or endpoint supplied from client constructor can only override
the
hostname
,protocol
, andport
part of the request.Whereas
path
andquery
will always be generated from the model.This behavior will also be align with V2 SDK
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.