package com.deploygate.maven.plugins; import org.apache.http.HttpEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import java.io.File; import java.util.Map; final class Utils { private static final String END_POINT = "https://deploygate.com/api/users/%s/apps"; private Utils() { } static boolean isNotNullOrEmpty(final String text) { return text != null && !text.equals(""); } static StringBody createContentBody(final String text) { return new StringBody(text, ContentType.DEFAULT_TEXT); } static FileBody createFileBody(final File file) { return new FileBody(file.getAbsoluteFile()); } static HttpEntity createHttpEntity(UploadInfo uploadInfo) { MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create(); entityBuilder.addPart("token", createContentBody(uploadInfo.getToken())); entityBuilder.addPart("file", createFileBody(uploadInfo.getFile())); entityBuilder.addPart("token", createContentBody(uploadInfo.getToken())); Map<String, String> optionalParams = uploadInfo.getOptionalParams(); for (Map.Entry<String, String> entry : optionalParams.entrySet()) { entityBuilder.addPart(entry.getKey(), createContentBody(entry.getValue())); } return entityBuilder.build(); } static HttpPost createHttpPost(UploadInfo uploadInfo) { String uri = String.format(END_POINT, uploadInfo.getOwnerName()); HttpPost httpPost = new HttpPost(uri); httpPost.setEntity(createHttpEntity(uploadInfo)); return httpPost; } }