use log::debug;
-/// MailDrop can't find folders to sync because it sends FIND MAILBOXES /*
+/// `MailDrop` can't find folders to sync because it sends FIND MAILBOXES /*
/// which is not understood by modern servers. It instead replaces it with
/// a LIST command.
pub fn middleware(input: &[u8]) -> Vec<u8> {
let command = String::from_utf8_lossy(input);
- if let Some(tag) = command.split("FIND MAILBOXES /*").next() {
- let replacement = format!("{} LIST \"/INBOX\" \"*\"\r\n", tag.trim());
- debug!("### {replacement}");
- return replacement.into_bytes();
+ if command.contains("FIND MAILBOXES /*") {
+ if let Some(tag) = command.split("FIND MAILBOXES /*").next() {
+ let replacement = format!("{} LIST \"/INBOX\" \"*\"\r\n", tag.trim());
+ debug!("### {replacement}");
+ return replacement.into_bytes();
+ }
}
- return input.to_vec();
+ input.to_vec()
}