@@ -27,7 +27,7 @@ use crate::private::APPLICATION_OCTET_STREAM;
27
27
28
28
use super :: {
29
29
AsyncDeserializeResponse , AsyncRequestBody , AsyncSerializeRequest , AsyncWriteBody ,
30
- BoxAsyncWriteBody , DeserializeResponse , EncodeHeader , EncodeParam , RequestBody ,
30
+ BoxAsyncWriteBody , ConjureRuntime , DeserializeResponse , EncodeHeader , EncodeParam , RequestBody ,
31
31
SerializeRequest , StdResponseDeserializer , WriteBody ,
32
32
} ;
33
33
@@ -38,11 +38,11 @@ impl<'a, T, R> SerializeRequest<'a, T, R> for BinaryRequestSerializer
38
38
where
39
39
T : WriteBody < R > + ' a ,
40
40
{
41
- fn content_type ( _: & T ) -> HeaderValue {
41
+ fn content_type ( _: & ConjureRuntime , _ : & T ) -> HeaderValue {
42
42
APPLICATION_OCTET_STREAM
43
43
}
44
44
45
- fn serialize ( value : T ) -> Result < RequestBody < ' a , R > , Error > {
45
+ fn serialize ( _ : & ConjureRuntime , value : T ) -> Result < RequestBody < ' a , R > , Error > {
46
46
Ok ( RequestBody :: Streaming ( Box :: new ( value) ) )
47
47
}
48
48
}
@@ -51,11 +51,11 @@ impl<'a, T, R> AsyncSerializeRequest<'a, T, R> for BinaryRequestSerializer
51
51
where
52
52
T : AsyncWriteBody < R > + Send + ' a ,
53
53
{
54
- fn content_type ( _: & T ) -> HeaderValue {
54
+ fn content_type ( _: & ConjureRuntime , _ : & T ) -> HeaderValue {
55
55
APPLICATION_OCTET_STREAM
56
56
}
57
57
58
- fn serialize ( value : T ) -> Result < AsyncRequestBody < ' a , R > , Error > {
58
+ fn serialize ( _ : & ConjureRuntime , value : T ) -> Result < AsyncRequestBody < ' a , R > , Error > {
59
59
Ok ( AsyncRequestBody :: Streaming ( BoxAsyncWriteBody :: new ( value) ) )
60
60
}
61
61
}
@@ -68,16 +68,16 @@ where
68
68
T : DeserializeOwned + Default ,
69
69
R : Iterator < Item = Result < Bytes , Error > > ,
70
70
{
71
- fn accept ( ) -> Option < HeaderValue > {
72
- <StdResponseDeserializer as DeserializeResponse < T , R > >:: accept ( )
71
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
72
+ <StdResponseDeserializer as DeserializeResponse < T , R > >:: accept ( runtime )
73
73
}
74
74
75
- fn deserialize ( response : Response < R > ) -> Result < T , Error > {
75
+ fn deserialize ( runtime : & ConjureRuntime , response : Response < R > ) -> Result < T , Error > {
76
76
if response. status ( ) == StatusCode :: NO_CONTENT {
77
77
return Ok ( T :: default ( ) ) ;
78
78
}
79
79
80
- <StdResponseDeserializer as DeserializeResponse < T , R > >:: deserialize ( response)
80
+ <StdResponseDeserializer as DeserializeResponse < T , R > >:: deserialize ( runtime , response)
81
81
}
82
82
}
83
83
@@ -86,28 +86,29 @@ where
86
86
T : DeserializeOwned + Default ,
87
87
R : Stream < Item = Result < Bytes , Error > > + Send ,
88
88
{
89
- fn accept ( ) -> Option < HeaderValue > {
90
- <StdResponseDeserializer as AsyncDeserializeResponse < T , R > >:: accept ( )
89
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
90
+ <StdResponseDeserializer as AsyncDeserializeResponse < T , R > >:: accept ( runtime )
91
91
}
92
92
93
- async fn deserialize ( response : Response < R > ) -> Result < T , Error > {
93
+ async fn deserialize ( runtime : & ConjureRuntime , response : Response < R > ) -> Result < T , Error > {
94
94
if response. status ( ) == StatusCode :: NO_CONTENT {
95
95
return Ok ( T :: default ( ) ) ;
96
96
}
97
97
98
- <StdResponseDeserializer as AsyncDeserializeResponse < T , R > >:: deserialize ( response) . await
98
+ <StdResponseDeserializer as AsyncDeserializeResponse < T , R > >:: deserialize ( runtime, response)
99
+ . await
99
100
}
100
101
}
101
102
102
103
/// A body deserializer for binary types.
103
104
pub enum BinaryResponseDeserializer { }
104
105
105
106
impl < R > DeserializeResponse < R , R > for BinaryResponseDeserializer {
106
- fn accept ( ) -> Option < HeaderValue > {
107
+ fn accept ( _ : & ConjureRuntime ) -> Option < HeaderValue > {
107
108
Some ( APPLICATION_OCTET_STREAM )
108
109
}
109
110
110
- fn deserialize ( response : Response < R > ) -> Result < R , Error > {
111
+ fn deserialize ( _ : & ConjureRuntime , response : Response < R > ) -> Result < R , Error > {
111
112
if response. headers ( ) . get ( CONTENT_TYPE ) != Some ( & APPLICATION_OCTET_STREAM ) {
112
113
return Err ( Error :: internal_safe ( "invalid response Content-Type" ) ) ;
113
114
}
@@ -120,11 +121,11 @@ impl<R> AsyncDeserializeResponse<R, R> for BinaryResponseDeserializer
120
121
where
121
122
R : Send ,
122
123
{
123
- fn accept ( ) -> Option < HeaderValue > {
124
+ fn accept ( _ : & ConjureRuntime ) -> Option < HeaderValue > {
124
125
Some ( APPLICATION_OCTET_STREAM )
125
126
}
126
127
127
- async fn deserialize ( response : Response < R > ) -> Result < R , Error > {
128
+ async fn deserialize ( _ : & ConjureRuntime , response : Response < R > ) -> Result < R , Error > {
128
129
if response. headers ( ) . get ( CONTENT_TYPE ) != Some ( & APPLICATION_OCTET_STREAM ) {
129
130
return Err ( Error :: internal_safe ( "invalid response Content-Type" ) ) ;
130
131
}
@@ -137,35 +138,41 @@ where
137
138
pub enum OptionalBinaryResponseDeserializer { }
138
139
139
140
impl < R > DeserializeResponse < Option < R > , R > for OptionalBinaryResponseDeserializer {
140
- fn accept ( ) -> Option < HeaderValue > {
141
- <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: accept ( )
141
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
142
+ <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: accept ( runtime )
142
143
}
143
144
144
- fn deserialize ( response : Response < R > ) -> Result < Option < R > , Error > {
145
+ fn deserialize ( runtime : & ConjureRuntime , response : Response < R > ) -> Result < Option < R > , Error > {
145
146
if response. status ( ) == StatusCode :: NO_CONTENT {
146
147
return Ok ( None ) ;
147
148
}
148
149
149
- <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: deserialize ( response) . map ( Some )
150
+ <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: deserialize ( runtime, response)
151
+ . map ( Some )
150
152
}
151
153
}
152
154
153
155
impl < R > AsyncDeserializeResponse < Option < R > , R > for OptionalBinaryResponseDeserializer
154
156
where
155
157
R : Send ,
156
158
{
157
- fn accept ( ) -> Option < HeaderValue > {
158
- <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: accept ( )
159
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
160
+ <BinaryResponseDeserializer as DeserializeResponse < R , R > >:: accept ( runtime )
159
161
}
160
162
161
- async fn deserialize ( response : Response < R > ) -> Result < Option < R > , Error > {
163
+ async fn deserialize (
164
+ runtime : & ConjureRuntime ,
165
+ response : Response < R > ,
166
+ ) -> Result < Option < R > , Error > {
162
167
if response. status ( ) == StatusCode :: NO_CONTENT {
163
168
return Ok ( None ) ;
164
169
}
165
170
166
- <BinaryResponseDeserializer as AsyncDeserializeResponse < R , R > >:: deserialize ( response)
167
- . await
168
- . map ( Some )
171
+ <BinaryResponseDeserializer as AsyncDeserializeResponse < R , R > >:: deserialize (
172
+ runtime, response,
173
+ )
174
+ . await
175
+ . map ( Some )
169
176
}
170
177
}
171
178
@@ -176,16 +183,18 @@ impl<R> DeserializeResponse<(), R> for EmptyResponseDeserializer
176
183
where
177
184
R : Iterator < Item = Result < Bytes , Error > > ,
178
185
{
179
- fn accept ( ) -> Option < HeaderValue > {
180
- <StdResponseDeserializer as DeserializeResponse < ( ) , R > >:: accept ( )
186
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
187
+ <StdResponseDeserializer as DeserializeResponse < ( ) , R > >:: accept ( runtime )
181
188
}
182
189
183
- fn deserialize ( response : Response < R > ) -> Result < ( ) , Error > {
190
+ fn deserialize ( runtime : & ConjureRuntime , response : Response < R > ) -> Result < ( ) , Error > {
184
191
if response. status ( ) == StatusCode :: NO_CONTENT {
185
192
return Ok ( ( ) ) ;
186
193
}
187
194
188
- <StdResponseDeserializer as DeserializeResponse < IgnoredAny , R > >:: deserialize ( response) ?;
195
+ <StdResponseDeserializer as DeserializeResponse < IgnoredAny , R > >:: deserialize (
196
+ runtime, response,
197
+ ) ?;
189
198
190
199
Ok ( ( ) )
191
200
}
@@ -195,17 +204,19 @@ impl<R> AsyncDeserializeResponse<(), R> for EmptyResponseDeserializer
195
204
where
196
205
R : Stream < Item = Result < Bytes , Error > > + Send ,
197
206
{
198
- fn accept ( ) -> Option < HeaderValue > {
199
- <StdResponseDeserializer as AsyncDeserializeResponse < ( ) , R > >:: accept ( )
207
+ fn accept ( runtime : & ConjureRuntime ) -> Option < HeaderValue > {
208
+ <StdResponseDeserializer as AsyncDeserializeResponse < ( ) , R > >:: accept ( runtime )
200
209
}
201
210
202
- async fn deserialize ( response : Response < R > ) -> Result < ( ) , Error > {
211
+ async fn deserialize ( runtime : & ConjureRuntime , response : Response < R > ) -> Result < ( ) , Error > {
203
212
if response. status ( ) == StatusCode :: NO_CONTENT {
204
213
return Ok ( ( ) ) ;
205
214
}
206
215
207
- <StdResponseDeserializer as AsyncDeserializeResponse < IgnoredAny , R > >:: deserialize ( response)
208
- . await ?;
216
+ <StdResponseDeserializer as AsyncDeserializeResponse < IgnoredAny , R > >:: deserialize (
217
+ runtime, response,
218
+ )
219
+ . await ?;
209
220
210
221
Ok ( ( ) )
211
222
}
@@ -218,7 +229,7 @@ impl<T> EncodeParam<T> for PlainEncoder
218
229
where
219
230
T : Plain ,
220
231
{
221
- fn encode ( value : T ) -> Result < Vec < String > , Error > {
232
+ fn encode ( _ : & ConjureRuntime , value : T ) -> Result < Vec < String > , Error > {
222
233
Ok ( vec ! [ value. to_plain( ) ] )
223
234
}
224
235
}
@@ -227,7 +238,7 @@ impl<T> EncodeHeader<T> for PlainEncoder
227
238
where
228
239
T : Plain ,
229
240
{
230
- fn encode ( value : T ) -> Result < Vec < HeaderValue > , Error > {
241
+ fn encode ( _ : & ConjureRuntime , value : T ) -> Result < Vec < HeaderValue > , Error > {
231
242
HeaderValue :: try_from ( value. to_plain ( ) )
232
243
. map_err ( Error :: internal_safe)
233
244
. map ( |v| vec ! [ v] )
@@ -242,7 +253,7 @@ where
242
253
T : IntoIterator < Item = U > ,
243
254
U : Plain ,
244
255
{
245
- fn encode ( value : T ) -> Result < Vec < String > , Error > {
256
+ fn encode ( _ : & ConjureRuntime , value : T ) -> Result < Vec < String > , Error > {
246
257
Ok ( value. into_iter ( ) . map ( |v| v. to_plain ( ) ) . collect ( ) )
247
258
}
248
259
}
@@ -252,7 +263,7 @@ where
252
263
T : IntoIterator < Item = U > ,
253
264
U : Plain ,
254
265
{
255
- fn encode ( value : T ) -> Result < Vec < HeaderValue > , Error > {
266
+ fn encode ( _ : & ConjureRuntime , value : T ) -> Result < Vec < HeaderValue > , Error > {
256
267
value
257
268
. into_iter ( )
258
269
. map ( |v| HeaderValue :: try_from ( v. to_plain ( ) ) . map_err ( Error :: internal_safe) )
0 commit comments