swift-doro-webdav-client

1.1.1

Lightweight WebDAV client for macOS sans XML library dependencies
chengang/swift-doro-webdav-client

What's New

1.1.1

2024-11-02T01:26:06Z

add test for timeout

swift-doro-webdav-client

Lightweight WebDAV client for macOS sans XML library dependencies

SYNOPSIS

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

Testing

  1. Set your WebDAV server info in swift_doro_webdav_clientTests.swift before testing.
  2. Check that you have necessary permissions on your WebDAV server before testing.
  3. Already Tested against lighttpd-mod-webdav.

Description

  • Swift Tools 5.9.0
View More Packages from this Author

Dependencies

  • None
Last updated: Mon May 12 2025 12:36:04 GMT-0900 (Hawaii-Aleutian Daylight Time)