From 307a998a46eb25f6a5899ccb388029fead9cd5ff Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 22 Jan 2020 10:16:48 +0100 Subject: [PATCH] webdav: add Client.CopyAll --- client.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/client.go b/client.go index 8709323..96a5576 100644 --- a/client.go +++ b/client.go @@ -187,6 +187,24 @@ func (c *Client) Mkdir(name string) error { return err } +func (c *Client) CopyAll(name, dest string, overwrite bool) error { + req, err := c.ic.NewRequest("COPY", name, nil) + if err != nil { + return err + } + + dest, err = c.ic.ResolveHref(dest) + if err != nil { + return err + } + req.Header.Set("Destination", dest) + + req.Header.Set("Overwrite", internal.FormatOverwrite(overwrite)) + + _, err = c.ic.Do(req) + return err +} + func (c *Client) MoveAll(name, dest string, overwrite bool) error { req, err := c.ic.NewRequest("MOVE", name, nil) if err != nil {