fix(rag): stop routing Qdrant requests through an ambient proxy

make_client used a bare reqwest builder, which honours whatever proxy the
environment advertises. That made it the only HTTP client in Coyote to do so:
utils::set_proxy discards ambient settings and applies only Coyote's configured
proxy, and every other client goes through it.

The symptom is that a perfectly healthy Qdrant is unreachable and the error
belongs to the interposing proxy, not the store, so it reads as a Coyote or
Qdrant fault. Locally an installed Socket Firewall answered `.rag attach`
against 127.0.0.1:6333 with an HTML 'Connection Required' page and HTTP 405.

Both #[ignore]d live tests now pass against a real Qdrant; they failed with that
same 405 before this change, which is the first time either has run green.

A remote store that genuinely needs Coyote's configured proxy is a follow-up:
that means threading the proxy config into the provider.
This commit is contained in:
2026-08-11 22:15:04 -06:00
parent 6f586bd535
commit af9622d31c
+5
View File
@@ -193,6 +193,11 @@ impl QdrantProvider {
}
Client::builder()
.default_headers(headers)
// reqwest picks up ambient proxy settings by default, which routes even
// a loopback Qdrant through whatever proxy the environment dictates and
// fails with that proxy's error rather than Qdrant's. Every other client
// in Coyote discards them the same way, in `utils::set_proxy`.
.no_proxy()
.build()
.context("Failed to build reqwest client")
}