rustydav

crates.io Documentation GPL-3.0 licensed

Implementation of webdav requests in rust

This is a small library written in rust and inspired by hyperdav and uses reqwest library as the base.

This library can be used to make calls to webdav server

Example

Small example how to use this library

include rustydav as a dependency rust [dependencies] rustydav = "0.1.1" Then add this to your code ```rust extern crate rustydav;

use rustydav::client; use rustydav::prelude::*; ```

Supported methods are: get, put, delete, unzip, mkcol, mv, list. For some description about them please see the client.rs file.

```rust // Every method will return a Result

if (result.ok() { // the method completed with success } else { // somenting when wrong }

// Create the client let client = client::Client::init(/username/, /password/);

// Get some file from server // The result will contain the file data let result = client.get(/absolute url to the server file location/);

// Upload a file to server. It can be any type of file as long as it is transformed to a vector of bytes (Vec). // This can be achieved with std::fs::File or zip-rs for sending zip files. let result = client.put(/Vec/, /absolute path to the server file location/);

// Delete a remote file from the server let result = client.delete(/absolute path to the file on the server/);

// Unzip a zip archive on the server let result = client.unzip(/absolute path to the zip archive on the server/);

// Create a new directory on server let result = client.mkcol(/absolute path to the server where to create the new folder/);

// Rename or move a file / folder / zip on the server // If the file location changes it will move the file, if only the file name changes it will rename it. let result = client.mv(/absolute path on the server for old file location/name/, /absolute on the server for new file location/name/);

// List files and folders at the given path on the server // Depth of "0" applies only to the resource, "1" to the resource and it's children, "infinity" to the resource and all it's children recursively // The result will contain an xml list with the remote folder contents. let result = client.list(/absolute path on the server to list the files/, /depth being "0", "1" or "infinity"/); ```