@@ -15,7 +15,6 @@ use crate::tracing::JsonVisitor;
15
15
16
16
extern crate rmp_serde as rmps;
17
17
18
- // todo: add http extensions field
19
18
#[ derive( Serialize , Deserialize , Debug ) ]
20
19
pub struct RequestWrapper {
21
20
#[ serde( with = "http_serde::method" ) ]
@@ -44,11 +43,11 @@ impl From<http::request::Parts> for RequestWrapper {
44
43
45
44
impl RequestWrapper {
46
45
/// Serialize a RequestWrapper to the Rust MessagePack data format
47
- pub fn into_rmp ( self ) -> Vec < u8 > {
46
+ pub fn into_rmp ( self ) -> Result < Vec < u8 > , rmps :: encode :: Error > {
48
47
let mut buf = Vec :: new ( ) ;
49
- self . serialize ( & mut Serializer :: new ( & mut buf) ) . unwrap ( ) ;
48
+ self . serialize ( & mut Serializer :: new ( & mut buf) ) ? ;
50
49
51
- buf
50
+ Ok ( buf)
52
51
}
53
52
54
53
/// Consume the wrapper and return a request builder with `Parts` set
@@ -60,7 +59,7 @@ impl RequestWrapper {
60
59
61
60
request
62
61
. headers_mut ( )
63
- . unwrap ( )
62
+ . unwrap ( ) // Safe to unwrap as we just made the builder
64
63
. extend ( self . headers . into_iter ( ) ) ;
65
64
66
65
request
@@ -92,11 +91,11 @@ impl From<http::response::Parts> for ResponseWrapper {
92
91
93
92
impl ResponseWrapper {
94
93
/// Serialize a ResponseWrapper into the Rust MessagePack data format
95
- pub fn into_rmp ( self ) -> Vec < u8 > {
94
+ pub fn into_rmp ( self ) -> Result < Vec < u8 > , rmps :: encode :: Error > {
96
95
let mut buf = Vec :: new ( ) ;
97
- self . serialize ( & mut Serializer :: new ( & mut buf) ) . unwrap ( ) ;
96
+ self . serialize ( & mut Serializer :: new ( & mut buf) ) ? ;
98
97
99
- buf
98
+ Ok ( buf)
100
99
}
101
100
102
101
/// Consume the wrapper and return a response builder with `Parts` set
@@ -107,7 +106,7 @@ impl ResponseWrapper {
107
106
108
107
response
109
108
. headers_mut ( )
110
- . unwrap ( )
109
+ . unwrap ( ) // Safe to unwrap since we just made the builder
111
110
. extend ( self . headers . into_iter ( ) ) ;
112
111
113
112
response
@@ -389,7 +388,7 @@ mod test {
389
388
. unwrap ( ) ;
390
389
391
390
let ( parts, _) = request. into_parts ( ) ;
392
- let rmp = RequestWrapper :: from ( parts) . into_rmp ( ) ;
391
+ let rmp = RequestWrapper :: from ( parts) . into_rmp ( ) . unwrap ( ) ;
393
392
394
393
let back: RequestWrapper = rmps:: from_slice ( & rmp) . unwrap ( ) ;
395
394
@@ -415,7 +414,7 @@ mod test {
415
414
. unwrap ( ) ;
416
415
417
416
let ( parts, _) = response. into_parts ( ) ;
418
- let rmp = ResponseWrapper :: from ( parts) . into_rmp ( ) ;
417
+ let rmp = ResponseWrapper :: from ( parts) . into_rmp ( ) . unwrap ( ) ;
419
418
420
419
let back: ResponseWrapper = rmps:: from_slice ( & rmp) . unwrap ( ) ;
421
420
0 commit comments