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
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
// 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"/); ```