aboutsummaryrefslogtreecommitdiff
path: root/plugins/carddav/carddav.go
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-02-11 19:14:05 +0100
committerSimon Ser <contact@emersion.fr>2020-02-11 19:14:05 +0100
commit3a3887b358a5eaf73440dfd9f4732b356f022bf0 (patch)
treee9ec90505e931066e58e1b8c9d584bc4d6182f82 /plugins/carddav/carddav.go
parent13f541469198e29f9a16f54aeecf7b55cea629c8 (diff)
downloadalps-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.go26
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())
}