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