An async webdav client for rust with tokio and reqwest
- Authentication
- Basic
- Digest
- Files management
- Get
- Put
- Mv
- Cp
- Delete
- Mkcol
- List
use crate::{Auth, ClientBuilder, Depth, Error};
#[tokio::test]
async fn it_works() -> Result<(), Error> {
// build a client
let client = ClientBuilder::new()
.set_host("http://server".to_string())
.set_auth(Auth::Basic("username".to_owned(), "password".to_owned()))
.build()?;
// list files
println!(
"{}",
serde_json::to_string(&client.list("/remote.php/dav/files/username", Depth::Infinity).await?).unwrap()
);
// delete a file
client.delete("1.txt").await.unwrap();
Ok(())
}set_hostcan use "http://server/remote.php/dav/files/username", but the list method return value from server usually the full path excluding the protocol and domain name, like/remote.php/dav/files/username/bookmarks.txt, you can use it according to your own server or needs.