Lightweight WebDAV client for macOS sans XML library dependencies
let baseUrl = "http://192.168.50.55:81/dav/"
let usr = "user"
let passwd = "password"
let wd = DoroWebDAVClient(baseUrl: baseUrl, usr: usr, passwd: passwd)
let fileData = "Hello, World!".data(using: .utf8)!
//
// Upload
//
// curl --user 'aaa:aaa' -T t1 http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.write("http://192.168.50.55:81/dav/doroTestFile", data: fileData)
dump(ret)
}.value
//
// Read
//
// curl --user 'aaa:aaa' http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.read("http://192.168.50.55:81/dav/doroTestFile")
print(String(data: ret!, encoding: .utf8)!)
}.value
//
// List
//
// curl --user 'aaa:aaa' -X PROPFIND -H "Depth: 1" http://192.168.50.55:81/dav/
//
await Task {
let ret = await wd.list()
dump(ret)
}.value
//
// Delete
//
// curl --user 'aaa:aaa' -X DELETE http://192.168.50.55:81/dav/t1
//
await Task {
let ret = await wd.delete("http://192.168.50.55:81/dav/doroTestFile")
dump(ret)
}.value
- Set your WebDAV server info in
swift_doro_webdav_clientTests.swift
before testing. - Check that you have necessary permissions on your WebDAV server before testing.
- Already Tested against
lighttpd-mod-webdav
.