ureq

Small synchronous HTTP client. Used in crates/word-analysis/src/ollama.rs's HttpOllamaClient (json feature, for send_json/read_json) to talk to a local Ollama instance. Chosen because trango has no async runtime anywhere — background work runs via plain std::thread::spawn, so a blocking client needs no new execution model; reqwest would have meant adding tokio just for this one feature.

Pitfall

Non-2xx responses become Err(ureq::Error::StatusCode(_)) rather than a returned response — map_ureq_error uses this to distinguish "Ollama responded with an error" from "couldn't reach Ollama at all".