pub(crate) mod ftp;
use std::io;
use crate::tls::NoVerifier;
use ftp::{metadata::FileMetadata, FtpClient};
pub struct FileClient {
hostname: String,
access_code: String,
}
impl FileClient {
pub fn new(hostname: impl Into<String>, access_code: impl Into<String>) -> Self {
Self {
hostname: hostname.into(),
access_code: access_code.into(),
}
}
pub async fn get_files(&self, directory: &str) -> io::Result<Vec<FileMetadata>> {
let mut client = FtpClient::connect(
self.hostname.clone(),
"bblp".to_string(),
self.access_code.clone(),
)
.await
.unwrap();
let _message = client.authenticate().await?;
let files = client.list_files(directory).await?;
client.quit().await?;
Ok(files)
}
}