fix: validate unknown method for a path in swagger definition for apigw #2061
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.
Issue #, if available:
N/A
Description of changes:
When setting path for default authorizers, SAM Transform tries to access specific method information from path definition inside swagger in this line; https://github.com/aws/serverless-application-model/blob/develop/samtranslator/swagger/swagger.py#L534
Since it is trying to access this dictionary directly, it might raise exception when a method is defined in function's event definition but not in swagger definition.
Description of how you validated changes:
Before setting up path for default authorizer, we first try to see if that path has the expected method definition, if not we are going to raise an invalid document exception rather than getting item not found exception from dictionary.
Checklist:
make prpassesExamples?
Please reach out in the comments, if you want to add an example. Examples will be
added to
sam initthrough https://github.com/awslabs/aws-sam-cli-app-templates/By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.