diff options
author | Simon Ser <contact@emersion.fr> | 2020-02-11 19:14:05 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-02-11 19:14:05 +0100 |
commit | 3a3887b358a5eaf73440dfd9f4732b356f022bf0 (patch) | |
tree | e9ec90505e931066e58e1b8c9d584bc4d6182f82 /plugins/carddav/carddav.go | |
parent | 13f541469198e29f9a16f54aeecf7b55cea629c8 (diff) | |
download | alps-3a3887b358a5eaf73440dfd9f4732b356f022bf0.tar.gz alps-3a3887b358a5eaf73440dfd9f4732b356f022bf0.zip |
plugins/carddav: cache addressbook home set path
Diffstat (limited to 'plugins/carddav/carddav.go')
-rw-r--r-- | plugins/carddav/carddav.go | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/plugins/carddav/carddav.go b/plugins/carddav/carddav.go index 55c76b4..0c1a06d 100644 --- a/plugins/carddav/carddav.go +++ b/plugins/carddav/carddav.go @@ -21,32 +21,10 @@ func (rt *authRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) return rt.upstream.RoundTrip(req) } -func getAddressBook(u *url.URL, session *koushin.Session) (*carddav.Client, *carddav.AddressBook, error) { +func newClient(u *url.URL, session *koushin.Session) (*carddav.Client, error) { rt := authRoundTripper{ upstream: http.DefaultTransport, session: session, } - c, err := carddav.NewClient(&http.Client{Transport: &rt}, u.String()) - if err != nil { - return nil, nil, fmt.Errorf("failed to create CardDAV client: %v", err) - } - - principal, err := c.FindCurrentUserPrincipal() - if err != nil { - return nil, nil, fmt.Errorf("failed to query CardDAV principal: %v", err) - } - - addressBookHomeSet, err := c.FindAddressBookHomeSet(principal) - if err != nil { - return nil, nil, fmt.Errorf("failed to query CardDAV address book home set: %v", err) - } - - addressBooks, err := c.FindAddressBooks(addressBookHomeSet) - if err != nil { - return nil, nil, fmt.Errorf("failed to query CardDAV address books: %v", err) - } - if len(addressBooks) == 0 { - return nil, nil, errNoAddressBook - } - return c, &addressBooks[0], nil + return carddav.NewClient(&http.Client{Transport: &rt}, u.String()) } |