Skip to main content

srs_client/http_api/
response.rs

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