-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(apigateway): throw ValidationError
instead of untyped errors
#33075
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(This review is outdated)
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #33075 +/- ##
=======================================
Coverage 80.78% 80.78%
=======================================
Files 232 232
Lines 14111 14111
Branches 2453 2453
=======================================
Hits 11400 11400
Misses 2431 2431
Partials 280 280
Flags with carried forward coverage won't be shown. Click here to find out more.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think the idea is for us to use UnscopedValidationError
sparingly, and there are a few places where I'm not sure if you exhausted options for adding scope before defaulting to Unscoped
. Some of these could be wrong, but it's worrisome that there's so many UnscopedValidationErrors
in this PR
packages/aws-cdk-lib/aws-apigateway/lib/integrations/stepfunctions.ts
Outdated
Show resolved
Hide resolved
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
almost there
@@ -51,7 +52,7 @@ export class FirehoseLogDestination implements IAccessLogDestination { | |||
*/ | |||
public bind(_stage: IStage): AccessLogDestinationConfig { | |||
if (!this.stream.deliveryStreamName?.startsWith('amazon-apigateway-')) { | |||
throw new Error(`Firehose delivery stream name for access log destination must begin with 'amazon-apigateway-', got '${this.stream.deliveryStreamName}'`); | |||
throw new UnscopedValidationError(`Firehose delivery stream name for access log destination must begin with 'amazon-apigateway-', got '${this.stream.deliveryStreamName}'`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stage is a construct
@@ -102,7 +103,7 @@ export class CognitoUserPoolsAuthorizer extends Authorizer implements IAuthorize | |||
*/ | |||
public _attachToApi(restApi: IRestApi): void { | |||
if (this.restApiId && this.restApiId !== restApi.restApiId) { | |||
throw new Error('Cannot attach authorizer to two different rest APIs'); | |||
throw new UnscopedValidationError('Cannot attach authorizer to two different rest APIs'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
restApi is a construct
packages/aws-cdk-lib/aws-apigateway/lib/integrations/stepfunctions.ts
Outdated
Show resolved
Hide resolved
…ions.ts Co-authored-by: Momo Kornher <[email protected]>
@@ -34,8 +36,6 @@ const enableNoThrowDefaultErrorIn = [ | |||
'aws-ssmcontacts', | |||
'aws-ssmincidents', | |||
'aws-ssmquicksetup', | |||
'aws-apigatewayv2', | |||
'aws-apigatewayv2-authorizers', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was duplicated and in the wrong spot it seems
Momo provided the follow up review
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Comments on closed issues and PRs are hard for our team to see. |
Issue
aws-apigateway
for #32569Description of changes
ValidationErrors everywhere
Describe any new or updated permissions being added
n/a
Description of how you validated changes
Existing tests. Exemptions granted as this is basically a refactor of existing code.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license