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: add WebSocket protocol support (#280)
* feat: add WebSocket protocol support (align golang)
* Add WebSocket support to TypeScript OpenAPI client.
Introduce websocketUtils for AWAP/general sub-protocols and route ws/wss requests through the tea WebSocket client in doRequest.
* Add WebSocket support to Python OpenAPI client.
Port websocket_utils and route ws/wss do_request through darabonba WebSocket client with AWAP/general sub-protocols.
* refactor: clarify WebSocket call chain and remove fallbacks
- websocketSubProtocol stays in params only (header + StreamHandler)
- Stop passing it through runtime to tea layer
- StreamHandler rejects unknown sub-protocol and missing handler methods
- Propagate reconnect failures via handleError instead of swallowing
- Add tests for error paths
* fix(php): pump WebSocket event loop while waiting for ack
Replace usleep polling with tea pump() so handler callbacks run in the
main process during sendRequest wait loops.
* fix(php): expose pump() on WebSocketClient wrapper
Forward pump() to the inner tea client so callers can drive the ReactPHP
event loop for request-response and push receive without reflection.
* fix(php): add WebSocketUtils export mapping in Teafile
Product SDK generator resolves import OpenApi.WebSocketUtils via
php.exports; without this mapping it emitted undefined::createWebSocketClient.
* fix(ts): export WebSocketUtils namespace for SDK codegen
Align TS openapi-core exports with generator expectations so product
SDKs can import WebSocketUtils.createWebSocketClient from @alicloud/openapi-core.
* fix(python): add WebSocketUtils Client export for SDK codegen
Expose websocket_utils_models and Client.create_web_socket_client so
generated Python SDKs can import the WebSocket wrapper without shims.
* fix(ci): install unpublished tea deps for WebSocket PR checks
CI failed because darabonba-core/tea-php/@darabonba/typescript WebSocket
support is not published yet. Install the matching PR branches in workflows
until upstream tea packages merge and release.
Also fix duplicate websocketUtils export and mapToFlatStyle Model instanceof
checks when @darabonba/typescript is linked from git during CI.
* fix(ci): use node script for tea-typescript dep on npm 6
npm pkg set is unavailable on Node 14.x (npm 6); patch package.json with
node -e so all matrix rows can install the git-linked tea-typescript build.
* fix(ci): unblock PHP code-quality job composer advisory block
Code Quality Checks lacked jq advisory disable and guzzle pins when
installing tea-php websocket branch. Also pin stable guzzle on PHP 5.6
for SSE test and use --prefer-stable on composer update.
* fix(ci): point PHP tea dependency at alibabacloud-sdk-php/darabonba
PHP core moved from aliyun/tea-php to alibabacloud-sdk-php/darabonba;
update CI VCS repository so WebSocket branch installs from the new home.
* chore(ci): point WebSocket deps at published tea packages
Tea cores are released (darabonba-core 1.0.8, alibabacloud/darabonba 1.0.5,
@darabonba/typescript 1.0.5); drop git/VCS CI installs and raise minimums.