Proposal: support Integer and Short Dubbo string parameters (#3659)
Summary
Deliver a focused first increment of #3659: java.lang.Integer and java.lang.Short for QUERY/HEADER/PATH string parameters in the Higress Envoy http_dubbo_transcoder.
Evidence and scope
At envoy-1.36 baseline 9bd2ded786073d115beb71d0f2ca0afc075e4f4d, convertStringToTypeValue still recognizes only the existing Boolean/Double/Long/String/List mapping. The issue identifies Integer as the production blocker.
- Recognize exact Integer/Short wrapper names using existing Long lexical validation and integer JSON representation.
- Preserve configured Java type identity for generic invocation; do not substitute Long in the method signature.
- Preserve existing Long behavior and the original issue's provider-side narrowing policy. Do not introduce a new gateway range policy; document/test this boundary.
- Preserve malformed-input rejection and existing five-type behavior.
- Demonstrate exact Integer/Short method dispatch against a pinned real Dubbo provider.
Float, Date, Set and BigDecimal are deferred, not claimed fixed. The historical prototype routes BigDecimal through floating point; that is not decimal-precision-preserving support. Future increments need separate compatibility criteria. The eventual PR must use Part of higress-group/higress#3659, not auto-close the full six-type request.
Delivery and approval
Code targets higress-group/envoy, branch envoy-1.36. This planning discussion lives with the original Higress tracking issue. Do not publish gateway packages/images or update the Higress submodule before an accepted, fetchable Envoy revision exists.
July prototype d35b2ae0814699207b7791308ab23f0a956c4298 is reference material; former Envoy PR #30 is currently inaccessible (404). It is not approval or validation of this narrowed increment.
Current contributor: pilichoumao; material AI assistance. Explicit maintainer approval of Proposal/Design is requested before implementation. No retroactive approval or maintainer exception is claimed.
Acceptance
Utility/transcoder tests cover valid/invalid wrappers, all three sources and original Java signatures. Real Envoy/Dubbo red-green evidence shows baseline rejection becoming the intended Integer/Short invocation while Long remains unchanged. Pin source/build/provider/toolchain, configs, requests, output/log assertions and cleanup.
Source: higress-group/higress