Add DELETE method to Keep Client
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / api / client / KeepWebApiClient.java
1 /*
2  * Copyright (C) The Arvados Authors. All rights reserved.
3  *
4  * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
5  *
6  */
7
8 package org.arvados.client.api.client;
9
10 import okhttp3.HttpUrl;
11 import okhttp3.Request;
12 import org.arvados.client.config.ConfigProvider;
13
14 public class KeepWebApiClient extends BaseApiClient {
15
16     public KeepWebApiClient(ConfigProvider config) {
17         super(config);
18     }
19
20     public byte[] download(String collectionUuid, String filePathName) {
21         Request request = getRequestBuilder()
22                 .url(getUrlBuilder(collectionUuid,filePathName).build())
23                 .get()
24                 .build();
25
26         return newFileCall(request);
27     }
28
29     public String delete(String collectionUuid, String filePathName) {
30         Request request = getRequestBuilder()
31                 .url(getUrlBuilder(collectionUuid, filePathName).build())
32                 .delete()
33                 .build();
34
35         return newCall(request);
36     }
37
38     private HttpUrl.Builder getUrlBuilder(String collectionUuid, String filePathName) {
39         return new HttpUrl.Builder()
40                 .scheme(config.getApiProtocol())
41                 .host(config.getKeepWebHost())
42                 .port(config.getKeepWebPort())
43                 .addPathSegment("c=" + collectionUuid)
44                 .addPathSegment(filePathName);
45     }
46 }