fix: create a valid URL for REST APIs and ALBs when the host header i… #369
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.
…s missing
Issue #, if available: #368
Description of changes:
When the Host header is missing from an API Gateway REST API or ALB request, the current implementations defaults to an empty value. This means that the
lambda_http
crate tries to transform a value ofhttps:///my/path
into an Uri, which results in anhttp::Error(InvalidUri(InvalidFormat))
error.This PR changes the behavior by checking first if there is a valid host header present. It then uses the
http(s)://my-host/my/path
pattern if it is present, or just/my/path
otherwise.No changes are needed for API Gateway v2 since it adds a
requestContext.domainName
value, which means we can always derive a valid domain name in that situation.By submitting this pull request