From 073dbbc3f8401e946b731e2269f6e253b04bee68 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 31 Mar 2020 22:33:14 -0400 Subject: [PATCH] add support for multipart uploads --- .../org/cobbzilla/wizard/client/ApiClientBase.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/wizard-common/src/main/java/org/cobbzilla/wizard/client/ApiClientBase.java b/wizard-common/src/main/java/org/cobbzilla/wizard/client/ApiClientBase.java index c54ecc6..c210bcc 100644 --- a/wizard-common/src/main/java/org/cobbzilla/wizard/client/ApiClientBase.java +++ b/wizard-common/src/main/java/org/cobbzilla/wizard/client/ApiClientBase.java @@ -508,14 +508,24 @@ public class ApiClientBase implements Cloneable, Closeable { if (request.getMethod().equals(GET)) { return HttpUtil.get(getBaseUri() + request.getUri(), new SingletonMap<>(getTokenHeader(), getToken()), headers); } else if (request.getMethod().equals(POST)) { - return HttpUtil.post(getBaseUri() + request.getUri(), request.getEntityInputStream(), new SingletonMap<>(getTokenHeader(), getToken()), headers); + return HttpUtil.post(getBaseUri() + request.getUri(), request.getEntityInputStream(), null, new SingletonMap<>(getTokenHeader(), getToken()), headers); } else if (request.getMethod().equals(PUT)) { - return HttpUtil.put(getBaseUri() + request.getUri(), request.getEntityInputStream(), new SingletonMap<>(getTokenHeader(), getToken()), headers); + return HttpUtil.put(getBaseUri() + request.getUri(), request.getEntityInputStream(), null, new SingletonMap<>(getTokenHeader(), getToken()), headers); } else { throw new IOException("getStream: unsupported HTTP request method: "+request.getMethod()); } } + public InputStream uploadMultipartStream(HttpRequestBean request, String name) throws IOException { + if (request.getMethod().equals(POST)) { + return HttpUtil.post(getBaseUri() + request.getUri(), request.getEntityInputStream(), name, new SingletonMap<>(getTokenHeader(), getToken()), headers); + } else if (request.getMethod().equals(PUT)) { + return HttpUtil.put(getBaseUri() + request.getUri(), request.getEntityInputStream(), name, new SingletonMap<>(getTokenHeader(), getToken()), headers); + } else { + throw new IOException("uploadMultipartStream: unsupported HTTP request method: "+request.getMethod()); + } + } + public String getStreamedString(HttpRequestBean request) throws IOException { try { @Cleanup InputStream in = getStream(request);