2 * Copyright (C) The Arvados Authors. All rights reserved.
4 * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
8 package org.arvados.client.api.client;
10 import okhttp3.HttpUrl;
11 import okhttp3.Request;
12 import okhttp3.RequestBody;
13 import org.arvados.client.config.ConfigProvider;
17 public class KeepWebApiClient extends BaseApiClient {
19 public KeepWebApiClient(ConfigProvider config) {
23 public byte[] download(String collectionUuid, String filePathName) {
24 Request request = getRequestBuilder()
25 .url(getUrlBuilder(collectionUuid,filePathName).build())
29 return newFileCall(request);
32 public String delete(String collectionUuid, String filePathName) {
33 Request request = getRequestBuilder()
34 .url(getUrlBuilder(collectionUuid, filePathName).build())
38 return newCall(request);
41 public String upload(String collectionUuid, File file, ProgressListener progressListener) {
42 RequestBody requestBody = new CountingFileRequestBody(file, progressListener);
44 Request request = getRequestBuilder()
45 .url(getUrlBuilder(collectionUuid, file.getName()).build())
48 return newCall(request);
51 private HttpUrl.Builder getUrlBuilder(String collectionUuid, String filePathName) {
52 return new HttpUrl.Builder()
53 .scheme(config.getApiProtocol())
54 .host(config.getKeepWebHost())
55 .port(config.getKeepWebPort())
56 .addPathSegment("c=" + collectionUuid)
57 .addPathSegment(filePathName);