aboutsummaryrefslogtreecommitdiff
path: root/src/connection.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-06-07 12:38:59 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-06-07 12:38:59 +0200
commitb82df13082869dc4d455e15c2955e20de0b55675 (patch)
tree05d0644988351b2dd8181862094cd59f98764160 /src/connection.rs
parent16e66cb56357f81bf026b7da93d8fb48237a7a71 (diff)
downloadaerogramme-b82df13082869dc4d455e15c2955e20de0b55675.tar.gz
aerogramme-b82df13082869dc4d455e15c2955e20de0b55675.zip
Refactor
Diffstat (limited to 'src/connection.rs')
-rw-r--r--src/connection.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/connection.rs b/src/connection.rs
deleted file mode 100644
index 335caaa..0000000
--- a/src/connection.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-use std::sync::Arc;
-use std::task::{Context, Poll};
-
-use boitalettres::errors::Error as BalError;
-use boitalettres::proto::{Request, Response};
-use futures::future::BoxFuture;
-use imap_codec::types::command::CommandBody;
-use tower::Service;
-
-use crate::command;
-use crate::mailstore::Mailstore;
-
-pub struct Connection {
- pub mailstore: Arc<Mailstore>,
-}
-impl Connection {
- pub fn new(mailstore: Arc<Mailstore>) -> Self {
- Self { mailstore }
- }
-}
-impl Service<Request> for Connection {
- type Response = Response;
- type Error = BalError;
- type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
-
- fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
- Poll::Ready(Ok(()))
- }
-
- fn call(&mut self, req: Request) -> Self::Future {
- tracing::debug!("Got request: {:#?}", req);
- let cmd = command::Command::new(self.mailstore.clone());
- Box::pin(async move {
- match req.body {
- CommandBody::Capability => cmd.capability().await,
- CommandBody::Login { username, password } => cmd.login(username, password).await,
- _ => Response::bad("Error in IMAP command received by server."),
- }
- })
- }
-}