--- /dev/null
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+export const getTagValue = (document: Document | Element, tagName: string, defaultValue: string) => {
+ const [el] = Array.from(document.getElementsByTagName(tagName));
+ return el ? el.innerHTML : defaultValue;
+};
import { WebDAV } from "../../common/webdav";
import { AuthService } from "../auth-service/auth-service";
import { mapTree, getNodeChildren, getNode, TreeNode } from "../../models/tree";
+import { getTagValue } from "../../common/xml";
export type UploadProgress = (fileId: number, loaded: number, total: number, currentTime: number) => void;
.from(document.getElementsByTagName('D:response'))
.slice(1)
.map(element => {
- const [displayNameElement] = Array.from(element.getElementsByTagName('D:displayname'));
- const name = displayNameElement ? displayNameElement.innerHTML : undefined;
-
- const [sizeElement] = Array.from(element.getElementsByTagName('D:getcontentlength'));
- const size = sizeElement ? parseInt(sizeElement.innerHTML, 10) : 0;
-
- const [hrefElement] = Array.from(element.getElementsByTagName('D:href'));
- const pathname = hrefElement ? hrefElement.innerHTML : undefined;
+ const name = getTagValue(element, 'D:displayname', '');
+ const size = parseInt(getTagValue(element, 'D:getcontentlength', '0') as string, 10);
+ const pathname = getTagValue(element, 'D:href', '');
const directory = pathname && pathname.replace(/\/c=[0-9a-zA-Z\-]*/, '').replace(`/${name || ''}`, '');
-
const href = this.webdavClient.defaults.baseURL + pathname + '?api_token=' + this.authService.getApiToken();
const data = {