talk_api_internal/
agent.rs1#[derive(Debug, Clone, Copy)]
2pub enum TalkApiAgent<'a> {
3 Android(&'a str),
5
6 Win32(&'a str),
8
9 Custom { agent: &'a str, user_agent: &'a str },
11}
12
13impl<'a> TalkApiAgent<'a> {
14 pub fn agent(&self) -> &str {
15 match self {
16 TalkApiAgent::Android(_) => "android",
17 TalkApiAgent::Win32(_) => "win32",
18 TalkApiAgent::Custom {
19 agent,
20 user_agent: _,
21 } => agent,
22 }
23 }
24
25 pub fn get_user_agent(&self, version: &str, language: &str) -> String {
26 match self {
27 TalkApiAgent::Android(os_version) => {
28 format!("KT/{} An/{} {}", version, os_version, language)
29 }
30 TalkApiAgent::Win32(os_version) => {
31 format!("KT/{} Wd/{} {}", version, os_version, language)
32 }
33 TalkApiAgent::Custom {
34 agent: _,
35 user_agent,
36 } => user_agent.to_string(),
37 }
38 }
39}