cp_microservice/api/shared/
request_header.rs1use 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}