sark_core/http/response/
header_name.rs1use http::HeaderName;
2
3pub trait HeaderNameRef: sealed::SealedHeaderNameRef {
4 fn as_header_name(&self) -> &str;
5}
6
7impl HeaderNameRef for HeaderName {
8 fn as_header_name(&self) -> &str {
9 self.as_str()
10 }
11}
12
13impl HeaderNameRef for &HeaderName {
14 fn as_header_name(&self) -> &str {
15 self.as_str()
16 }
17}
18
19impl HeaderNameRef for str {
20 fn as_header_name(&self) -> &str {
21 self
22 }
23}
24
25impl HeaderNameRef for &str {
26 fn as_header_name(&self) -> &str {
27 self
28 }
29}
30
31impl HeaderNameRef for String {
32 fn as_header_name(&self) -> &str {
33 self.as_str()
34 }
35}
36
37mod sealed {
38 pub trait SealedHeaderNameRef {}
39
40 impl SealedHeaderNameRef for http::HeaderName {}
41 impl SealedHeaderNameRef for &http::HeaderName {}
42 impl SealedHeaderNameRef for str {}
43 impl SealedHeaderNameRef for &str {}
44 impl SealedHeaderNameRef for String {}
45}