collectionQuery
collectionQuery
query on DAVCollection
const result = await collectionQuery({
url: 'https://contacts.icloud.com/123456/carddavhome/card/',
body: {
'addressbook-query': {
_attributes: getDAVAttribute([DAVNamespace.CARDDAV, DAVNamespace.DAV]),
[`${DAVNamespaceShort.DAV}:prop`]: props,
filter: {
'prop-filter': {
_attributes: {
name: 'FN',
},
},
},
},
},
defaultNamespace: DAVNamespaceShort.CARDDAV,
depth: '1',
headers: {
authorization: 'Basic x0C9uFWd9Vz8OwS0DEAtkAlj',
},
});
Arguments
urlrequired, collection urlbodyrequired, query request bodydepthDAVDepthdefaultNamespacedefaults toDAVNamespaceShort.DAV, default namespace for the the request bodyheadersrequest headersheadersToExcludearray of keys of the headers you want to excludefetchOptionsoptions to pass to underlying fetch functionfetchcustom fetch implementation
Return Value
array of DAVResponse
Behavior
Sends a REPORT request to the target collection and parses the response XML into an array of DAVResponse.
Error Handling
collectionQuery will reject with an error if:
- The server returns a non-OK response (e.g., 504 Gateway Timeout, 401 Unauthorized).
- Any individual response within a Multi-Status payload has a status code >= 400.
- The server response is not valid XML when a Multi-Status response is expected.