rsiot/components_config/http_server/
config.rs1use crate::message::MsgDataBound;
2
3use super::{GetEndpoint, PutEndpoint};
4
5#[derive(Clone, Debug)]
8pub struct Config<TMsg>
9where
10 TMsg: MsgDataBound,
11{
12 pub port: u16,
14
15 pub fn_start: fn(&TMsg) -> Option<bool>,
21
22 pub get_endpoints: Vec<Box<dyn GetEndpoint<TMsg>>>,
24
25 pub put_endpoints: Vec<Box<dyn PutEndpoint<TMsg>>>,
27}
28#[cfg(test)]
31mod tests {
32 use super::Config;
33 use crate::message::example_message::*;
34
35 #[allow(clippy::no_effect)]
36 #[test]
37 fn stub() {
38 Config::<Custom> {
39 port: 8000,
40 fn_start: |_| Some(true),
41 get_endpoints: vec![],
42 put_endpoints: vec![],
43 };
44 }
45
46 #[allow(clippy::no_effect)]
47 #[test]
48 fn fn_input_json() {
49 Config::<Custom> {
50 port: 8000,
51 fn_start: |_| Some(true),
52 get_endpoints: vec![],
53 put_endpoints: vec![],
54 };
55 }
56
57 #[allow(clippy::no_effect)]
58 #[test]
59 fn fn_output_json() {
60 Config::<Custom> {
61 port: 8000,
62 fn_start: |_| Some(true),
63 get_endpoints: vec![],
64 put_endpoints: vec![],
65 };
66 }
67}