4个版本

使用旧的Rust 2015

0.2.0 2018年8月24日
0.1.2 2016年5月9日
0.1.1 2016年5月9日
0.1.0 2016年5月9日

#1001 in 认证

MIT许可证

17KB
360

hyperdav

一个基本、易于使用的WebDAV客户端库。

示例

以下是您如何在服务器上放置文件的方法。

extern crate hyperdav;

use std::fs::OpenOptions;

use hyperdav::ClientBuilder;

fn main() {
    let client = ClientBuilder::default()
        .credentials(
            "username",
            "password",
        )
        .build("webdav_url")
        .unwrap();
    let f = OpenOptions::new()
                .read(true)
                .open("/foo/bar/file.txt")
                .unwrap();

    client.put(f, "file.txt");
}

lib.rs:

hyperdav

The hyperdav crate提供与WebDAV协议交互的API。

它易于使用,并处理了用户所有HTTP抽象。

GET请求

#
let client = Client::new()
    .credentials("foo", "bar")
    .build("https://demo.owncloud.org/remote.php/webdav/")
    .unwrap();

let mut res = client.get(&["file.txt"])?;
let mut buf = vec![];
res.copy_to(&mut buf)?;

成功时,GET请求将返回来自Responsereqwest crate。

PUT请求

#
let client = Client::new()
    .credentials("foo", "bar")
    .build("https://demo.owncloud.org/remote.php/webdav/")
    .unwrap();
let r = std::io::empty();
client.put(r, &["file.txt"])?;
    # Ok(())

成功时,PUT请求将返回()以仅表示成功

依赖项

~15–24MB
~420K SLoC