- Shipped
- September 3, 2026 at 4:48 AM UTC
- Author
- Kamo
- Commit
- 5e4298d
The client built its query with build(true), which declares the values already encoded — so nothing was escaped at all. The character that matters is "+": every JustCall filter that takes a number takes it in E.164, and a great many servers read a query the form-encoded way, where "+" means a space. The first caller to filter by contact_number would have asked about " 15551234567" and received an empty list with nothing to explain it. Switching to encode() does not fix it either — "+" is legal in a query under RFC 3986, so encode() leaves it exactly as it found it. Values are therefore encoded explicitly, and the URI is passed to RestTemplate as a URI rather than a String so it is not then encoded a second time into %25. No caller passes a number today; the test is there so the first one that does finds this working rather than silently empty.