diff --git a/carddav/client.go b/carddav/client.go index 2c6b00f..9992754 100644 --- a/carddav/client.go +++ b/carddav/client.go @@ -71,7 +71,7 @@ func (c *Client) SetBasicAuth(username, password string) { } func (c *Client) HasSupport() error { - classes, _, err := c.ic.Options("/") + classes, _, err := c.ic.Options("") if err != nil { return err } diff --git a/client.go b/client.go index 02dbccf..0abe9af 100644 --- a/client.go +++ b/client.go @@ -29,7 +29,7 @@ func (c *Client) SetBasicAuth(username, password string) { func (c *Client) FindCurrentUserPrincipal() (string, error) { propfind := internal.NewPropNamePropfind(internal.CurrentUserPrincipalName) - resp, err := c.ic.PropfindFlat("/", propfind) + resp, err := c.ic.PropfindFlat("", propfind) if err != nil { return "", err } diff --git a/internal/client.go b/internal/client.go index 33dfdb6..0d80914 100644 --- a/internal/client.go +++ b/internal/client.go @@ -36,11 +36,8 @@ func (c *Client) SetBasicAuth(username, password string) { } func (c *Client) ResolveHref(p string) *url.URL { - trailingSlash := strings.HasSuffix(p, "/") - p = path.Join(c.endpoint.Path, p) - // path.Join trims any trailing slash - if trailingSlash { - p += "/" + if !strings.HasPrefix(p, "/") { + p = path.Join(c.endpoint.Path, p) } return &url.URL{ Scheme: c.endpoint.Scheme,