From fda38c8f93d5129c3a6e8d335e7899cd96e3a2c8 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 22 Jan 2020 12:06:36 +0100 Subject: [PATCH] webdav: add recursive arg to Client.Readdir --- client.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client.go b/client.go index e37858d..da08656 100644 --- a/client.go +++ b/client.go @@ -124,10 +124,13 @@ func (c *Client) Open(name string) (io.ReadCloser, error) { return resp.Body, nil } -func (c *Client) Readdir(name string) ([]FileInfo, error) { - // TODO: filter out the directory we're listing +func (c *Client) Readdir(name string, recursive bool) ([]FileInfo, error) { + depth := internal.DepthOne + if recursive { + depth = internal.DepthInfinity + } - ms, err := c.ic.Propfind(name, internal.DepthOne, fileInfoPropfind) + ms, err := c.ic.Propfind(name, depth, fileInfoPropfind) if err != nil { return nil, err }