srs_client/http_api/
response.rs

1use 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}