Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(apigatewayv2): add missing
WebSocketIntegration
props (#29566)
### Issue # (if applicable) None as far as I can tell ### Reason for this change I was looking at the WebSocket integration to get a feel for #29562, and noticed a couple of missing properties ### Description of changes * Added support for `timeout` and `contentHandling` * Minor copy-pasta fixes in documentation and test description ### Description of how you validated changes I've added unit tests to check these optional properties. I've also updated and verified the following integrations tests: * `integ.lambda.ts`: * `ContentHandlingStrategy` and `TimeoutInMillis` are both correctly set ```sh $ aws apigatewayv2 get-integration --api-id bu24s9i8t0 --integration-id fxqec8c { "ConnectionType": "INTERNET", "ContentHandlingStrategy": "CONVERT_TO_TEXT", "IntegrationId": "fxqec8c", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:637423343434:function:WebSocketApiInteg-DefaultHandler604DF7AC-GSQYxsiaKjkz/invocations", "PassthroughBehavior": "WHEN_NO_MATCH", "PayloadFormatVersion": "1.0", "RequestTemplates": {}, "TimeoutInMillis": 10000 } ``` * `integ.aws.ts`: * `ContentHandlingStrategy`, `TemplateSelectionExpression`, `TimeoutInMillis`, `PassthroughBehavior`, and `RequestParameters` are all correctly set ```sh $ aws apigatewayv2 get-integration --api-id qp17tw07w3 --integration-id hycmjxb { "ConnectionType": "INTERNET", "ContentHandlingStrategy": "CONVERT_TO_BINARY", "CredentialsArn": "arn:aws:iam::637423343434:role/integ-aws-websocket-integrat-ApiGatewayRoleD2518903-i80lztfxo5XI", "IntegrationId": "hycmjxb", "IntegrationMethod": "POST", "IntegrationResponseSelectionExpression": "${integration.response.statuscode}", "IntegrationType": "AWS", "IntegrationUri": "arn:aws:apigateway:us-east-1:dynamodb:action/PutItem", "PassthroughBehavior": "WHEN_NO_TEMPLATES", "PayloadFormatVersion": "1.0", "RequestParameters": { "integration.request.header.Content-Type": "'application/x-www-form-urlencoded'" }, "RequestTemplates": { "application/json": "{\"TableName\":\"MyTable\",\"Item\":{\"id\":{\"S\":\"$context.requestId\"}}}" }, "TemplateSelectionExpression": "\\$default", "TimeoutInMillis": 10000 } ``` ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
- Loading branch information