hengyuss opened a new pull request, #7629: URL: https://github.com/apache/shenyu/pull/7629
Related to #7384. ## What this PR does - introduces protocol-independent transport properties for connection, response-header, stream-idle, and total-stream timeouts; - adds classified transport failures without embedding retry or fallback policy in the Transport layer; - forwards upstream response bodies reactively without full buffering and preserves cancellation/backpressure; - enforces a cumulative response-size limit, including an early `Content-Length` check; - releases discarded `DataBuffer` instances and cancels oversized or timed-out upstream responses; - binds the transport settings through the AI Proxy starter and documents the available configuration; - keeps the existing orchestration behavior through minimal `AiTransportException` integration; - adds unit tests for normal and streaming responses, timeout boundaries, response-size limits, cancellation, failure classification, and configuration binding. ## Scope This is an incremental implementation of #7384 and intentionally does not close the issue. Follow-up work still includes: - a dedicated shared Reactor Netty `ConnectionProvider`; - configurable connection limits, pending-acquire timeout, idle/lifetime eviction, and lifecycle disposal; - transport-level HTTP proxy and TLS configuration; - transport metrics and observability data. Retry and fallback decisions remain outside the Transport layer. More detailed failure-aware retry/fallback policy will be proposed separately. ## Tests - `./mvnw -pl shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy -Dtest='WebClientAiProxyTransportTest,AiProxyPluginTest' test -Drat.skip=true` - `./mvnw -pl shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-proxy -am -Dtest=AiProxyPluginConfigurationTest -Dsurefire.failIfNoSpecifiedTests=false test -Drat.skip=true` - Checkstyle passed for the affected modules. Make sure that: - [ ] You have read the [contribution guidelines](https://shenyu.apache.org/community/contributor-guide). - [x] You submit test cases (unit or integration tests) that back your changes. - [ ] Your local test passed `./mvnw clean install -Dmaven.javadoc.skip=true`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
