srs_client/http_api/
response.rs1use crate::http_api::{
2 client::Client,
3 common::Version,
4 feature::FeaturesData,
5 meminfos::MemInfos,
6 rusages::Rusages,
7 self_proc_stats::SelfProcStats,
8 stream::Stream,
9 summary::{Tests, Urls},
10 system_proc_stats::SystemProcStats,
11 vhost::Vhost,
12};
13use derive_more::{Display, Error};
14use serde::{Deserialize, Serialize};
15
16#[derive(Serialize, Deserialize, Debug)]
17pub struct SrsClientResp {
18 pub code: i64,
19 pub server: String,
20 pub service: String,
21 pub pid: String,
22 #[serde(flatten)]
23 pub data: SrsClientRespData,
24}
25
26#[derive(Serialize, Deserialize, Debug)]
27#[serde(untagged)]
28pub enum SrsClientRespData {
29 Streams { streams: Vec<Stream> },
30 Clients { clients: Vec<Client> },
31 Vhosts { vhosts: Vec<Vhost> },
32 Summary { urls: Box<Urls>, tests: Tests },
33 Version { data: Version },
34 Feature { data: FeaturesData },
35 Rusages { data: Rusages },
36 SelfProcStats { data: Box<SelfProcStats> },
37 SystemProcStats { data: SystemProcStats },
38 MemInfos { data: MemInfos },
39}