microclaw_engine/
http_client.rs1pub fn default_llm_user_agent() -> String {
2 let raw = env!("CARGO_PKG_VERSION");
3 let mut parts = raw.split('.');
4 let major = parts.next().unwrap_or(raw);
5 let minor = parts.next().unwrap_or("0");
6 format!("MicroClaw/{major}.{minor}")
7}
8
9pub fn llm_user_agent(configured: &str) -> String {
11 let trimmed = configured.trim();
12 if trimmed.is_empty() {
13 default_llm_user_agent()
14 } else {
15 trimmed.to_string()
16 }
17}
18
19#[cfg(test)]
20mod tests {
21 use super::{default_llm_user_agent, llm_user_agent};
22
23 #[test]
24 fn test_llm_user_agent_default() {
25 let ua = default_llm_user_agent();
26 assert!(ua.starts_with("MicroClaw/"));
27 }
28
29 #[test]
30 fn test_llm_user_agent_uses_configured_value() {
31 assert_eq!(llm_user_agent("OpenClaw/0.1.0"), "OpenClaw/0.1.0");
32 }
33
34 #[test]
35 fn test_llm_user_agent_empty_uses_default() {
36 assert_eq!(llm_user_agent(" "), default_llm_user_agent());
37 }
38}