cp_microservice/api/shared/
request_header.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize)]
6pub struct RequestHeader {
7    action: String,
8    token: String,
9    extra: HashMap<String, String>,
10}
11
12impl RequestHeader {
13    pub fn new(action: String, token: String) -> RequestHeader {
14        RequestHeader {
15            action,
16            token,
17            extra: HashMap::new(),
18        }
19    }
20
21    pub fn action(&self) -> &str {
22        self.action.as_str()
23    }
24
25    pub fn token(&self) -> &str {
26        self.token.as_str()
27    }
28
29    pub fn add_extra(&mut self, key: String, value: String) -> Option<String> {
30        self.extra.insert(key, value)
31    }
32
33    pub fn has_extra(&self, key: &str) -> bool {
34        self.extra.contains_key(key)
35    }
36
37    pub fn get_extra(&self, key: &str) -> Option<&String> {
38        self.extra.get(key)
39    }
40}