#webdav #hash #http-request #http

reqwest_dav

An async webdav client with tokio and reqwest

15 releases

0.1.15 Mar 21, 2025
0.1.14 Oct 28, 2024
0.1.13 Jul 31, 2024
0.1.9 Jan 31, 2024
0.1.1 Sep 9, 2022

#47 in HTTP client

Download history 493/week @ 2024-12-17 560/week @ 2024-12-24 817/week @ 2024-12-31 1046/week @ 2025-01-07 895/week @ 2025-01-14 761/week @ 2025-01-21 692/week @ 2025-01-28 1795/week @ 2025-02-04 1011/week @ 2025-02-11 1085/week @ 2025-02-18 1386/week @ 2025-02-25 1735/week @ 2025-03-04 2022/week @ 2025-03-11 3131/week @ 2025-03-18 2671/week @ 2025-03-25 2793/week @ 2025-04-01

10,844 downloads per month
Used in 6 crates (3 directly)

MIT/Apache

52KB
1K SLoC

Reqwest dav

crates.io Documentation MIT/Apache-2 licensed CI

An async webdav client for rust with tokio and reqwest

Features

  • Authentication
    • Basic
    • Digest
  • Files management
    • Get
    • Put
    • Mv
    • Cp
    • Delete
    • Mkcol
    • List

Examples

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/remote.php/dav/files/username/".to_string())
        .set_auth(Auth::Basic("username".to_owned(), "password".to_owned()))
        .build()?;

    // list files
    println!(
        "{}",
        serde_json::to_string(&client.list("", Depth::Infinity).await?).unwrap()
    );
  
    // delete a file
    client.delete("1.txt").await.unwrap();

    Ok(())
}

Dependencies

~8–20MB
~278K SLoC