23 lines
934 B
JavaScript
23 lines
934 B
JavaScript
import { prepareRequestOptions, request } from "../request.js";
|
|
import { handleResponseCode, processResponsePayload } from "../response.js";
|
|
import { parseXML } from "../tools/dav.js";
|
|
import { joinURL } from "../tools/url.js";
|
|
import { parseQuota } from "../tools/quota.js";
|
|
export async function getQuota(context, options = {}) {
|
|
const path = options.path || "/";
|
|
const requestOptions = prepareRequestOptions({
|
|
url: joinURL(context.remoteURL, path),
|
|
method: "PROPFIND",
|
|
headers: {
|
|
Accept: "text/plain,application/xml",
|
|
Depth: "0"
|
|
}
|
|
}, context, options);
|
|
const response = await request(requestOptions, context);
|
|
handleResponseCode(context, response);
|
|
const responseData = await response.text();
|
|
const result = await parseXML(responseData);
|
|
const quota = parseQuota(result);
|
|
return processResponsePayload(response, quota, options.details);
|
|
}
|