Skip to content

Commit 3e63397

Browse files
authored
chore(multipart): fmt code (#575)
1 parent faca686 commit 3e63397

1 file changed

Lines changed: 24 additions & 36 deletions

File tree

src/client/body/multipart.rs

Lines changed: 24 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ impl Multipart {
6363
fn build_form(&mut self, py: Python) -> PyResult<multipart::Form> {
6464
let mut form = multipart::Form::new();
6565
for part in &mut self.parts {
66-
let (name, inner) = part.build_form_part(py)?;
66+
let (name, inner) = part.build_part(py)?;
6767
form = form.part(name, inner);
6868
}
6969
Ok(form)
@@ -121,55 +121,43 @@ impl Part {
121121
}
122122
}
123123

124-
fn build_inner(value: Value, length: Option<u64>) -> Result<multipart::Part, Error> {
125-
Ok(match value {
126-
Value::Text(text) => multipart::Part::stream(Body::from(Bytes::from_owner(text))),
127-
Value::Bytes(bytes) => multipart::Part::stream(Body::from(Bytes::from_owner(bytes))),
128-
Value::File(path) => pyo3_async_runtimes::tokio::get_runtime()
129-
.block_on(multipart::Part::file(path))
130-
.map_err(Error::from)?,
131-
Value::Stream(stream) => {
132-
let stream = Body::wrap_stream(stream);
133-
match length {
134-
Some(length) => multipart::Part::stream_with_length(stream, length),
135-
None => multipart::Part::stream(stream),
136-
}
137-
}
138-
})
139-
}
140-
141-
fn clone_value_or_take(&mut self, py: Python) -> PyResult<Value> {
142-
self.value
124+
fn build_part(&mut self, py: Python) -> PyResult<(String, multipart::Part)> {
125+
let value = self
126+
.value
143127
.as_ref()
144128
.and_then(|value| value.try_clone(py))
145129
.or_else(|| self.value.take())
146-
.ok_or_else(|| Error::Memory.into())
147-
}
148-
149-
fn build_form_part(&mut self, py: Python) -> PyResult<(String, multipart::Part)> {
150-
let value = self.clone_value_or_take(py)?;
151-
let name = self.name.clone();
152-
let filename = self.filename.clone();
153-
let mime = self.mime.clone();
154-
let length = self.length;
155-
let headers = self.headers.clone();
130+
.ok_or_else(|| Error::Memory)?;
156131

157132
py.detach(move || {
158-
let mut inner = Self::build_inner(value, length)?;
133+
let mut inner = match value {
134+
Value::Text(text) => multipart::Part::stream(Bytes::from_owner(text)),
135+
Value::Bytes(bytes) => multipart::Part::stream(Bytes::from_owner(bytes)),
136+
Value::File(path) => pyo3_async_runtimes::tokio::get_runtime()
137+
.block_on(multipart::Part::file(path))
138+
.map_err(Error::from)?,
139+
Value::Stream(stream) => {
140+
let stream = Body::wrap_stream(stream);
141+
match self.length {
142+
Some(length) => multipart::Part::stream_with_length(stream, length),
143+
None => multipart::Part::stream(stream),
144+
}
145+
}
146+
};
159147

160-
if let Some(filename) = filename {
148+
if let Some(filename) = self.filename.clone() {
161149
inner = inner.file_name(filename);
162150
}
163151

164-
if let Some(mime) = mime {
165-
inner = inner.mime_str(&mime).map_err(Error::Library)?;
152+
if let Some(ref mime) = self.mime {
153+
inner = inner.mime_str(mime).map_err(Error::Library)?;
166154
}
167155

168-
if let Some(headers) = headers {
156+
if let Some(headers) = self.headers.clone() {
169157
inner = inner.headers(headers.0);
170158
}
171159

172-
Ok((name, inner))
160+
Ok((self.name.clone(), inner))
173161
})
174162
}
175163

0 commit comments

Comments
 (0)