aws-pdk icon indicating copy to clipboard operation
aws-pdk copied to clipboard

[FEATURE] (type-safe-api) WebSocket API support for Python

Open cogwirrel opened this issue 1 year ago • 3 comments

Describe the feature

Add support for WebSocket APIs in Python

Use Case

Consistency with remainder of PDK

Proposed Solution

Need to add the following:

  • [ ] Runtime: operation handler wrappers
  • [ ] Runtime: @connect/@disconnect handler wrappers
  • [ ] Runtime: interceptors
  • [ ] Runtime: server sdk (wrapping API Gateway Management API SDK)
  • [ ] Infrastructure
  • [ ] Handler stubs
  • [ ] @connect/@disconnect handler stubs
  • [ ] WebSocket client library
  • [ ] Integration with InfrastructurePyProject

Other Information

The majority of scaffolding is there already for runtime/handlers/infra - the mustache templates for the python-async-xxx projects in packages/type-safe-api/scripts/generators are copy/pasted REST API implementations that need to be modified to work for websockets.

The projen projects (eg generated-python-async-runtime-project.ts) will likely need to be tweaked slightly to add any dependencies required.

The client library will need to be added - follow the same pattern as the TypeScript websocket client library.

Make sure to remove the validation check once implemented: https://github.com/aws/aws-pdk/blob/a0dda50691a756798521dd1c8cbf0d5c21bdc9d2/packages/type-safe-api/src/project/type-safe-websocket-api-project.ts#L226

Acknowledgements

  • [X] I may be able to implement this feature request
  • [ ] This feature might incur a breaking change

PDK version used

0.23.26

What languages will this feature affect?

Python

Environment details (OS name and version, etc.)

OSX

cogwirrel avatar Mar 28 '24 05:03 cogwirrel

This issue is now marked as stale because it hasn't seen activity for a while. Add a comment or it will be closed soon. If you wish to exclude this issue from being marked as stale, add the "backlog" label.

github-actions[bot] avatar Jun 03 '24 00:06 github-actions[bot]

Closing this issue as it hasn't seen activity for a while. Please add a comment @mentioning a maintainer to reopen. If you wish to exclude this issue from being marked as stale, add the "backlog" label.

github-actions[bot] avatar Jun 10 '24 00:06 github-actions[bot]

Closing this issue as it hasn't seen activity for a while. Please add a comment @mentioning a maintainer to reopen. If you wish to exclude this issue from being marked as stale, add the "backlog" label.

github-actions[bot] avatar Sep 30 '24 00:09 github-actions[bot]