Versions in this module Expand all Collapse all v0 v0.5.2 Aug 18, 2024 v0.5.1 Aug 18, 2024 Changes in this version + var CapabilityAddressBook = webdav.Capability("addressbook") + func DiscoverContextURL(ctx context.Context, domain string) (string, error) + func Match(query *AddressBookQuery, ao *AddressObject) (matched bool, err error) + func NewAddressBookHomeSet(path string) webdav.BackendSuppliedHomeSet + func NewPreconditionError(err PreconditionType) error + type AddressBook struct + Description string + MaxResourceSize int64 + Name string + Path string + SupportedAddressData []AddressDataType + func (ab *AddressBook) SupportsAddressData(contentType, version string) bool + type AddressBookMultiGet struct + DataRequest AddressDataRequest + Paths []string + type AddressBookQuery struct + DataRequest AddressDataRequest + FilterTest FilterTest + Limit int + PropFilters []PropFilter + type AddressDataRequest struct + AllProp bool + Props []string + type AddressDataType struct + ContentType string + Version string + type AddressObject struct + Card vcard.Card + ContentLength int64 + ETag string + ModTime time.Time + Path string + func Filter(query *AddressBookQuery, aos []AddressObject) ([]AddressObject, error) + type Backend interface + AddressBookHomeSetPath func(ctx context.Context) (string, error) + CreateAddressBook func(ctx context.Context, addressBook *AddressBook) error + DeleteAddressBook func(ctx context.Context, path string) error + DeleteAddressObject func(ctx context.Context, path string) error + GetAddressBook func(ctx context.Context, path string) (*AddressBook, error) + GetAddressObject func(ctx context.Context, path string, req *AddressDataRequest) (*AddressObject, error) + ListAddressBooks func(ctx context.Context) ([]AddressBook, error) + ListAddressObjects func(ctx context.Context, path string, req *AddressDataRequest) ([]AddressObject, error) + PutAddressObject func(ctx context.Context, path string, card vcard.Card, ...) (*AddressObject, error) + QueryAddressObjects func(ctx context.Context, path string, query *AddressBookQuery) ([]AddressObject, error) + type Client struct + func NewClient(c webdav.HTTPClient, endpoint string) (*Client, error) + func (c *Client) FindAddressBookHomeSet(ctx context.Context, principal string) (string, error) + func (c *Client) FindAddressBooks(ctx context.Context, addressBookHomeSet string) ([]AddressBook, error) + func (c *Client) GetAddressObject(ctx context.Context, path string) (*AddressObject, error) + func (c *Client) HasSupport(ctx context.Context) error + func (c *Client) MultiGetAddressBook(ctx context.Context, path string, multiGet *AddressBookMultiGet) ([]AddressObject, error) + func (c *Client) PutAddressObject(ctx context.Context, path string, card vcard.Card) (*AddressObject, error) + func (c *Client) QueryAddressBook(ctx context.Context, addressBook string, query *AddressBookQuery) ([]AddressObject, error) + func (c *Client) SyncCollection(ctx context.Context, path string, query *SyncQuery) (*SyncResponse, error) + type FilterTest string + const FilterAllOf + const FilterAnyOf + type Handler struct + Backend Backend + Prefix string + func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) + type MatchType string + const MatchContains + const MatchEndsWith + const MatchEquals + const MatchStartsWith + type ParamFilter struct + IsNotDefined bool + Name string + TextMatch *TextMatch + type PreconditionType string + const PreconditionMaxResourceSize + const PreconditionNoUIDConflict + const PreconditionSupportedAddressData + const PreconditionValidAddressData + type PropFilter struct + IsNotDefined bool + Name string + Params []ParamFilter + Test FilterTest + TextMatches []TextMatch + type PutAddressObjectOptions struct + IfMatch webdav.ConditionalMatch + IfNoneMatch webdav.ConditionalMatch + type SyncQuery struct + DataRequest AddressDataRequest + Limit int + SyncToken string + type SyncResponse struct + Deleted []string + SyncToken string + Updated []AddressObject + type TextMatch struct + MatchType MatchType + NegateCondition bool + Text string