Document Folder APIs and add local Visit Examples.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Konrad Neitzel
2026-08-27 22:00:02 +02:00
co-authored by Cursor
parent 9068d8ba8e
commit fa2f2e5f2c
5 changed files with 75 additions and 4 deletions
+4
View File
@@ -175,6 +175,7 @@ func (f webdavFolder) childURL(name string) (string, error) {
return f.root.urlFor(path.Join(f.rel, name))
}
// List implements Folder via WebDAV PROPFIND Depth 1.
func (f webdavFolder) List() ([]Entry, error) {
u, err := f.root.urlFor(f.rel)
if err != nil {
@@ -267,6 +268,7 @@ func selfHref(href, folderRel string) bool {
return strings.HasSuffix(h, "/"+folderRel) || strings.HasSuffix(h, folderRel)
}
// Read implements Folder via WebDAV GET.
func (f webdavFolder) Read(name string) ([]byte, error) {
u, err := f.childURL(name)
if err != nil {
@@ -302,6 +304,7 @@ func (f webdavFolder) Read(name string) ([]byte, error) {
}
}
// Write implements Folder via WebDAV PUT.
func (f webdavFolder) Write(name string, data []byte) error {
u, err := f.childURL(name)
if err != nil {
@@ -332,6 +335,7 @@ func (f webdavFolder) Write(name string, data []byte) error {
return fmt.Errorf("webdav PUT %s: %s", name, res.Status)
}
// Exists implements Folder via WebDAV HEAD (falls back to GET when needed).
func (f webdavFolder) Exists(name string) (bool, error) {
u, err := f.childURL(name)
if err != nil {