#webdav #hash #http-request #http

reqwest_dav

An async webdav client with tokio and reqwest

16 releases

new 0.2.1 Apr 21, 2025
0.1.15 Mar 21, 2025
0.1.14 Oct 28, 2024
0.1.13 Jul 31, 2024
0.1.1 Sep 9, 2022

#59 in HTTP client

Download history 1167/week @ 2025-01-02 1083/week @ 2025-01-09 644/week @ 2025-01-16 867/week @ 2025-01-23 608/week @ 2025-01-30 2071/week @ 2025-02-06 901/week @ 2025-02-13 1036/week @ 2025-02-20 1452/week @ 2025-02-27 1646/week @ 2025-03-06 3543/week @ 2025-03-13 2156/week @ 2025-03-20 2865/week @ 2025-03-27 2583/week @ 2025-04-03 3144/week @ 2025-04-10 2452/week @ 2025-04-17

11,587 downloads per month
Used in 6 crates (3 directly)

MIT/Apache

55KB
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–24MB
~278K SLoC