Skip to main content

sark_core/http/
field.rs

1#[derive(Copy, Clone, Debug, PartialEq, Eq)]
2pub struct Field<'a> {
3    pub name: &'a [u8],
4    pub value: &'a [u8],
5}
6
7impl<'a> Field<'a> {
8    pub const fn new(name: &'a [u8], value: &'a [u8]) -> Self {
9        Self { name, value }
10    }
11}
12
13#[derive(Clone, Debug, PartialEq, Eq)]
14pub struct OwnedField {
15    pub name: Vec<u8>,
16    pub value: Vec<u8>,
17}
18
19impl OwnedField {
20    pub fn from(field: Field<'_>) -> Self {
21        Self {
22            name: field.name.to_vec(),
23            value: field.value.to_vec(),
24        }
25    }
26
27    pub fn as_ref(&self) -> Field<'_> {
28        Field {
29            name: &self.name,
30            value: &self.value,
31        }
32    }
33}