File tree 3 files changed +24
-16
lines changed
3 files changed +24
-16
lines changed Original file line number Diff line number Diff line change @@ -422,7 +422,7 @@ impl Body {
422
422
423
423
/// Get the file name of the `Body`, if it's set.
424
424
pub fn file_name ( & self ) -> Option < & str > {
425
- self . file_name . as_ref ( ) . map ( |s| s . as_str ( ) )
425
+ self . file_name . as_deref ( )
426
426
}
427
427
428
428
/// Set the file name of the `Body`.
Original file line number Diff line number Diff line change 1
- use crate :: { Body , Error , Mime } ;
1
+ use crate :: { Body , Mime } ;
2
2
3
- use std:: convert:: TryFrom ;
4
3
use std:: fmt:: { self , Debug } ;
5
4
// use std::path::Path;
6
5
use std:: pin:: Pin ;
@@ -139,16 +138,14 @@ impl Into<Body> for Entry {
139
138
}
140
139
}
141
140
142
- impl TryFrom < Body > for Entry {
143
- type Error = Error ;
144
-
145
- fn try_from ( body : Body ) -> Result < Self , Self :: Error > {
141
+ impl From < Body > for Entry {
142
+ fn from ( body : Body ) -> Self {
146
143
match body. file_name . clone ( ) {
147
- Some ( name) => Ok ( Self { body, name } ) ,
148
- None => Err ( Error :: from_str (
149
- 500 ,
150
- "Missing file_name on Body to convert to Multipart Entry" ,
151
- ) ) ,
144
+ Some ( name) => Self { body, name } ,
145
+ None => Self {
146
+ body ,
147
+ name : String :: new ( ) ,
148
+ } ,
152
149
}
153
150
}
154
151
}
Original file line number Diff line number Diff line change @@ -188,19 +188,28 @@ impl Stream for Multipart {
188
188
// }
189
189
// }
190
190
191
- struct BufReader < R : AsyncRead > {
191
+ // We need AsRef<[u8]> on BufReader for TryStreamExt (into_async_read) so... wrap and patch it in ourselves, for now.
192
+ #[ doc( hidden) ]
193
+ #[ derive( Debug ) ]
194
+ pub struct BufReader < R : AsyncRead > {
192
195
inner : io:: BufReader < R > ,
193
196
}
194
197
198
+ #[ doc( hidden) ]
195
199
impl < R : AsyncRead > BufReader < R > {
200
+ #[ allow( missing_doc_code_examples) ]
201
+ #[ doc( hidden) ]
196
202
pub fn new ( inner : R ) -> Self {
197
203
Self {
198
204
inner : io:: BufReader :: new ( inner) ,
199
205
}
200
206
}
201
207
}
202
208
209
+ #[ doc( hidden) ]
203
210
impl < R : AsyncRead > AsRef < [ u8 ] > for BufReader < R > {
211
+ #[ allow( missing_doc_code_examples) ]
212
+ #[ doc( hidden) ]
204
213
fn as_ref ( & self ) -> & [ u8 ] {
205
214
self . inner . buffer ( )
206
215
}
@@ -210,11 +219,13 @@ impl From<Multipart> for Body {
210
219
fn from ( multipart : Multipart ) -> Self {
211
220
let stream = multipart. map ( |maybe_entry| {
212
221
maybe_entry
213
- . map ( |entry| BufReader :: new ( entry ) )
222
+ . map ( BufReader :: new)
214
223
. map_err ( |err| {
215
- std:: io:: Error :: new ( std:: io:: ErrorKind :: Other , err. to_string ( ) . to_owned ( ) )
224
+ std:: io:: Error :: new ( std:: io:: ErrorKind :: Other , err. to_string ( ) )
216
225
} )
217
226
} ) ;
218
- Body :: from_reader ( io:: BufReader :: new ( stream. into_async_read ( ) ) , None )
227
+ let mut body = Body :: from_reader ( io:: BufReader :: new ( stream. into_async_read ( ) ) , None ) ;
228
+ body. set_mime ( mime:: MULTIPART_FORM ) ;
229
+ body
219
230
}
220
231
}
You can’t perform that action at this time.
0 commit comments