Skip to main content

aver_rt/
service_types.rs

1use crate::{AverDisplay, AverList};
2
3#[derive(Clone, Debug, PartialEq, Eq, Hash, Ord, PartialOrd)]
4pub struct Header {
5    pub name: String,
6    pub value: String,
7}
8
9impl AverDisplay for Header {
10    fn aver_display(&self) -> String {
11        format!(
12            "Header(name: {}, value: {})",
13            self.name.aver_display_inner(),
14            self.value.aver_display_inner()
15        )
16    }
17
18    fn aver_display_inner(&self) -> String {
19        self.aver_display()
20    }
21}
22
23#[derive(Clone, Debug, PartialEq)]
24pub struct HttpResponse {
25    pub status: i64,
26    pub body: String,
27    pub headers: AverList<Header>,
28}
29
30impl AverDisplay for HttpResponse {
31    fn aver_display(&self) -> String {
32        format!(
33            "HttpResponse(status: {}, body: {}, headers: {})",
34            self.status.aver_display_inner(),
35            self.body.aver_display_inner(),
36            self.headers.aver_display_inner()
37        )
38    }
39
40    fn aver_display_inner(&self) -> String {
41        self.aver_display()
42    }
43}
44
45#[derive(Clone, Debug, PartialEq)]
46pub struct HttpRequest {
47    pub method: String,
48    pub path: String,
49    pub body: String,
50    pub headers: AverList<Header>,
51}
52
53impl AverDisplay for HttpRequest {
54    fn aver_display(&self) -> String {
55        format!(
56            "HttpRequest(method: {}, path: {}, body: {}, headers: {})",
57            self.method.aver_display_inner(),
58            self.path.aver_display_inner(),
59            self.body.aver_display_inner(),
60            self.headers.aver_display_inner()
61        )
62    }
63
64    fn aver_display_inner(&self) -> String {
65        self.aver_display()
66    }
67}
68
69#[derive(Clone, Debug, PartialEq, Eq, Hash, Ord, PartialOrd)]
70pub struct TcpConnection {
71    pub id: String,
72    pub host: String,
73    pub port: i64,
74}
75
76impl AverDisplay for TcpConnection {
77    fn aver_display(&self) -> String {
78        format!(
79            "Tcp.Connection(id: {}, host: {}, port: {})",
80            self.id.aver_display_inner(),
81            self.host.aver_display_inner(),
82            self.port.aver_display_inner()
83        )
84    }
85
86    fn aver_display_inner(&self) -> String {
87        self.aver_display()
88    }
89}