diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-06-20 19:40:33 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-08-18 10:07:20 +0200 |
commit | 0bd69dc366916a25f077fc2de2ffa0a57bbae63d (patch) | |
tree | d45d091ad1f7f1cffb06c75fd160066fa6ec270c /src/endpoint | |
parent | 21cea73736f0b558d536f590522448badccde0ba (diff) |
Refactor: Reduce indention with more chaining
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/endpoint')
-rw-r--r-- | src/endpoint/configured.rs | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/src/endpoint/configured.rs b/src/endpoint/configured.rs index 8c0374f..e2dda2c 100644 --- a/src/endpoint/configured.rs +++ b/src/endpoint/configured.rs @@ -789,7 +789,6 @@ impl<'a> StartedContainer<'a> { self.create_info.id ) }) - .map_err(Error::from) .and_then(|l| { crate::log::parser() .parse(l.as_bytes()) @@ -801,31 +800,21 @@ impl<'a> StartedContainer<'a> { l ) }) - .map_err(Error::from) - .and_then(|item| { - let mut exited_successfully = None; - { - match item { - LogItem::State(Ok(_)) => { - exited_successfully = Some((true, None)) - } - LogItem::State(Err(ref msg)) => { - exited_successfully = Some((false, Some(msg.clone()))) - } - _ => { - // Nothing - } - } - } - - trace!("Log item: {}", item.display()?); - logsink - .send(item) - .with_context(|| anyhow!("Sending log to log sink")) - .map_err(Error::from) - .map(|_| exited_successfully) - }) }) + .and_then(|item| { + let exited_successfully = match item { + LogItem::State(Ok(_)) => Some((true, None)), + LogItem::State(Err(ref msg)) => Some((false, Some(msg.clone()))), + _ => None, // Nothing + }; + + trace!("Log item: {}", item.display()?); + logsink + .send(item) + .with_context(|| anyhow!("Sending log to log sink")) + .map(|_| exited_successfully) + }) + .map_err(Error::from) }) .collect::<Result<Vec<_>>>() .map(|r| { |