You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: expand API Gateway Management connector and add disconnect/query support
- Rename connector websocket.js → apigatewayclient.js to match SDK client naming convention
- Add GetConnectionCommand and DeleteConnectionCommand to apigatewayclient connector
- Add disconnectConnections sink (with silent 410 handling) to sinks/websocket.js
- Add queryConnection step in new queries/websocket.js
- Add guard clauses to skip uow missing connectionId or messageField across all three steps
- Add tests
- Fix flavors/websocket.test.js assertion for no-connections case
- Update README WebSocket Support section
Copy file name to clipboardExpand all lines: README.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -447,7 +447,6 @@ These features are intended for implementing intra-service logic.
447
447
*`Connector` - connector for the S3 SDK
448
448
*`putObjectToS3` - stream steps to put an object in a bucket
449
449
450
-
451
450
## SNS Support
452
451
These features are intended for implementing intra-service logic.
453
452
*`fromSns` - creates a stream from an SNS topic
@@ -464,9 +463,11 @@ These features are intended for implementing intra-service logic. They are frequ
464
463
465
464
## WebSocket Support
466
465
These features are intended for broadcasting events to connected WebSocket clients via API Gateway WebSocket API. Useful for lightweight real-time notifications (e.g. job completion, status updates) as an alternative to polling or SQS-based live data.
467
-
*`Connector` - connector for the API Gateway Management API SDK (`PostToConnectionCommand`)
466
+
*`Connector` - connector for the API Gateway Management API SDK (`PostToConnectionCommand`, `GetConnectionCommand`, `DeleteConnectionCommand`)
468
467
*`publishToConnections` - stream steps to post a message to connected WebSocket clients
469
-
*`broadcastToWebSocket` - a flavor that composes the full pipeline: filter on event type → format message via `rule.toMessage` → resolve target connections via `rule.toConnections` → fan out and publish to each connection
468
+
*`disconnectConnections` - stream steps to forcibly disconnect WebSocket clients
469
+
*`queryConnection` - query step to fetch connection metadata (identity, last active time) and adorn it to the `uow` as `getConnectionResponse`
470
+
*`broadcastToWebSocket` - a flavor that composes the full pipeline: filter on event type, format message via `rule.toMessage`, resolve target connections via `rule.toConnections`, fan out and publish to each connection
0 commit comments