diff --git a/src/main/java/com/convertapi/client/Config.java b/src/main/java/com/convertapi/client/Config.java index ead84dc..109656f 100644 --- a/src/main/java/com/convertapi/client/Config.java +++ b/src/main/java/com/convertapi/client/Config.java @@ -6,83 +6,44 @@ public class Config { - private static String defaultSecret; - private static String defaultToken; - private static String defaultApiKey; + private static String defaultApiCredentials; private static int defaultTimeout = 0; // Infinite read waiting private static Function defaultHttpClientBuilder = b -> b; private static final String SCHEME = "https"; private static final String HOST = "v2.convertapi.com"; private final String scheme; private final String host; - private final String secret; - private final String token; - private final String apiKey; + private final String apiCredentials; private final int timeout; private final Function httpClientBuilder; @SuppressWarnings("unused") - public Config(String secret, String scheme, String host, int timeout, Function httpClientBuilder) { + public Config(String apiCredentials, String scheme, String host, int timeout, Function httpClientBuilder) { this.scheme = scheme; this.host = host; - this.secret = secret; - this.token = null; - this.apiKey = null; - this.timeout = timeout; - this.httpClientBuilder = httpClientBuilder; - } - - @SuppressWarnings("unused") - public Config(String token, String apiKey, String scheme, String host, int timeout, Function httpClientBuilder) { - this.scheme = scheme; - this.host = host; - this.secret = null; - this.token = token; - this.apiKey = apiKey; + this.apiCredentials = apiCredentials; this.timeout = timeout; this.httpClientBuilder = httpClientBuilder; } @SuppressWarnings("WeakerAccess") public static Config defaults() { - if (Config.defaultSecret != null) - return new Config(Config.defaultSecret, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); - return new Config(Config.defaultToken, Config.defaultApiKey, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); - } - - @SuppressWarnings("WeakerAccess") - public static Config defaults(String secret) { - return new Config(secret, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); + return new Config(Config.defaultApiCredentials, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); } @SuppressWarnings("WeakerAccess") - public static Config defaults(String token, String apiKey) { - return new Config(token, apiKey, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); + public static Config defaults(String apiCredentials) { + return new Config(apiCredentials, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder); } @SuppressWarnings("WeakerAccess") - public static Config defaults(String secret, Function httpClientBuilder) { - return new Config(secret, SCHEME, HOST, defaultTimeout, httpClientBuilder); - } - - @SuppressWarnings("WeakerAccess") - public static Config defaults(String token, String apiKey, Function httpClientBuilder) { - return new Config(token, apiKey, SCHEME, HOST, defaultTimeout, httpClientBuilder); - } - - @SuppressWarnings("unused") - public static void setDefaultSecret(String defaultSecret) { - Config.defaultSecret = defaultSecret; + public static Config defaults(String apiCredentials, Function httpClientBuilder) { + return new Config(apiCredentials, SCHEME, HOST, defaultTimeout, httpClientBuilder); } @SuppressWarnings("unused") - public static void setDefaultToken(String defaultToken) { - Config.defaultToken = defaultToken; - } - - @SuppressWarnings("unused") - public static void setDefaultApiKey(String defaultApiKey) { - Config.defaultApiKey = defaultApiKey; + public static void setDefaultApiCredentials(String defaultApiCredentials) { + Config.defaultApiCredentials = defaultApiCredentials; } @SuppressWarnings("unused") @@ -107,16 +68,8 @@ String getHost() { return host; } - String getSecret() { - return secret; - } - - String getToken() { - return token; - } - - String getApiKey() { - return apiKey; + String getApiCredentials() { + return apiCredentials; } Function getHttpClientBuilder() { diff --git a/src/main/java/com/convertapi/client/ConvertApi.java b/src/main/java/com/convertapi/client/ConvertApi.java index f85bc20..f7f5054 100644 --- a/src/main/java/com/convertapi/client/ConvertApi.java +++ b/src/main/java/com/convertapi/client/ConvertApi.java @@ -68,7 +68,7 @@ public static CompletableFuture convert(String fromFormat, Str } } - Request request = Http.getRequestBuilder() + Request request = Http.getRequestBuilder(config) .url(url) .addHeader("Accept", "application/json") .addHeader("Content-Type", "multipart/form-data") @@ -99,7 +99,7 @@ public static User getUser() { public static User getUser(Config config) { HttpUrl url = Http.getUrlBuilder(config).addPathSegment("user").build(); - Request request = Http.getRequestBuilder() + Request request = Http.getRequestBuilder(config) .url(url) .addHeader("Accept", "application/json") .build(); @@ -124,13 +124,8 @@ public static CompletableFuture convertFile(Path fromFile, Str } @SuppressWarnings("unused") - public static CompletableFuture convertFile(Path fromFile, String toFormat, String secret, Param... params) throws IOException { - return convertFile(fromFile, toFormat, Config.defaults(secret), params); - } - - @SuppressWarnings("unused") - public static CompletableFuture convertFile(Path fromFile, String toFormat, String token, String apiKey, Param... params) throws IOException { - return convertFile(fromFile, toFormat, Config.defaults(token, apiKey), params); + public static CompletableFuture convertFile(Path fromFile, String toFormat, String apiCredentials, Param... params) throws IOException { + return convertFile(fromFile, toFormat, Config.defaults(apiCredentials), params); } public static CompletableFuture convertFile(Path fromFile, String toFormat, Config config, Param... params) throws IOException { @@ -144,13 +139,8 @@ public static void convertFile(String fromPathToFile, String toPathToFile) { } @SuppressWarnings("unused") - public static void convertFile(String fromPathToFile, String toPathToFile, String secret) { - convertFile(fromPathToFile, toPathToFile, Config.defaults(secret)); - } - - @SuppressWarnings("unused") - public static void convertFile(String fromPathToFile, String toPathToFile, String token, String apiKey) { - convertFile(fromPathToFile, toPathToFile, Config.defaults(token, apiKey)); + public static void convertFile(String fromPathToFile, String toPathToFile, String apiCredentials) { + convertFile(fromPathToFile, toPathToFile, Config.defaults(apiCredentials)); } public static void convertFile(String fromPathToFile, String toPathToFile, Config config) { @@ -169,13 +159,8 @@ public static List convertFileToDir(String fromPathToFile, String toFormat } @SuppressWarnings("unused") - public static List convertFileToDir(String fromPathToFile, String toFormat, String outputDirectory, String secret, Param... params) { - return convertFileToDir(fromPathToFile, toFormat, outputDirectory, Config.defaults(secret), params); - } - - @SuppressWarnings("unused") - public static List convertFileToDir(String fromPathToFile, String toFormat, String outputDirectory, String token, String apiKey, Param... params) { - return convertFileToDir(fromPathToFile, toFormat, outputDirectory, Config.defaults(token, apiKey), params); + public static List convertFileToDir(String fromPathToFile, String toFormat, String outputDirectory, String apiCredentials, Param... params) { + return convertFileToDir(fromPathToFile, toFormat, outputDirectory, Config.defaults(apiCredentials), params); } public static List convertFileToDir(String fromPathToFile, String toFormat, String outputDirectory, Config config, Param... params) { @@ -194,13 +179,8 @@ public static Path convertUrl(String url, String toPathToFile, Param... params) } @SuppressWarnings("unused") - public static Path convertUrl(String url, String toPathToFile, String secret, Param... params) { - return convertUrl(url, toPathToFile, Config.defaults(secret), params); - } - - @SuppressWarnings("unused") - public static Path convertUrl(String url, String toPathToFile, String token, String apiKey, Param... params) { - return convertUrl(url, toPathToFile, Config.defaults(token, apiKey), params); + public static Path convertUrl(String url, String toPathToFile, String apiCredentials, Param... params) { + return convertUrl(url, toPathToFile, Config.defaults(apiCredentials), params); } public static Path convertUrl(String url, String toPathToFile, Config config, Param... params) { @@ -219,13 +199,8 @@ public static Path convertRemoteFile(String url, String toPathToFile, Param... p } @SuppressWarnings("unused") - public static Path convertRemoteFile(String url, String toPathToFile, String secret, Param... params) { - return convertRemoteFile(url, toPathToFile, Config.defaults(secret), params); - } - - @SuppressWarnings("unused") - public static Path convertRemoteFile(String url, String toPathToFile, String token, String apiKey, Param... params) { - return convertRemoteFile(url, toPathToFile, Config.defaults(token, apiKey), params); + public static Path convertRemoteFile(String url, String toPathToFile, String apiCredentials, Param... params) { + return convertRemoteFile(url, toPathToFile, Config.defaults(apiCredentials), params); } public static Path convertRemoteFile(String url, String toPathToFile, Config config, Param... params) { @@ -245,13 +220,8 @@ public static List convertRemoteFileToDir(String url, String toFormat, Str } @SuppressWarnings("unused") - public static List convertRemoteFileToDir(String url, String toFormat, String outputDirectory, String secret, Param... params) { - return convertRemoteFileToDir(url, toFormat, outputDirectory, Config.defaults(secret), params); - } - - @SuppressWarnings("unused") - public static List convertRemoteFileToDir(String url, String toFormat, String outputDirectory, String token, String apiKey, Param... params) { - return convertRemoteFileToDir(url, toFormat, outputDirectory, Config.defaults(token, apiKey), params); + public static List convertRemoteFileToDir(String url, String toFormat, String outputDirectory, String apiCredentials, Param... params) { + return convertRemoteFileToDir(url, toFormat, outputDirectory, Config.defaults(apiCredentials), params); } public static List convertRemoteFileToDir(String url, String toFormat, String outputDirectory, Config config, Param... params) { diff --git a/src/main/java/com/convertapi/client/Http.java b/src/main/java/com/convertapi/client/Http.java index bca3562..19c8755 100644 --- a/src/main/java/com/convertapi/client/Http.java +++ b/src/main/java/com/convertapi/client/Http.java @@ -3,6 +3,7 @@ import com.convertapi.client.model.RemoteUploadResponse; import com.google.gson.Gson; import okhttp3.*; +import org.jetbrains.annotations.Nullable; import java.io.IOException; import java.io.InputStream; @@ -26,17 +27,9 @@ static OkHttpClient getClient(Config config) { } static HttpUrl.Builder getUrlBuilder(Config config) { - HttpUrl.Builder urlBuilder = new HttpUrl.Builder() + return new HttpUrl.Builder() .scheme(config.getScheme()) .host(config.getHost()); - - if (config.getSecret() != null) { - return urlBuilder.addQueryParameter("secret", config.getSecret()); - } else { - return urlBuilder - .addQueryParameter("token", config.getToken()) - .addQueryParameter("apikey", config.getApiKey()); - } } static CompletableFuture requestGet(String url) { @@ -71,8 +64,18 @@ static CompletableFuture requestDelete(String url) { } static Request.Builder getRequestBuilder() { + return getRequestBuilder(null); + } + + static Request.Builder getRequestBuilder(@Nullable Config config) { String agent = String.format("ConvertAPI-Java/%s (%s)", Http.class.getPackage().getImplementationVersion(), System.getProperty("os.name")); - return new Request.Builder().header("User-Agent", agent); + Request.Builder request = new Request.Builder() + .header("User-Agent", agent); + + if (config != null) { + request = request.header("Authorization", "Bearer " + config.getApiCredentials()); + } + return request; } static RemoteUploadResponse remoteUpload(String urlToFile, Config config) { @@ -81,7 +84,7 @@ static RemoteUploadResponse remoteUpload(String urlToFile, Config config) { .addQueryParameter("url", urlToFile) .build(); - Request request = Http.getRequestBuilder() + Request request = Http.getRequestBuilder(config) .url(url) .method("POST", RequestBody.create("", null)) .addHeader("Accept", "application/json") diff --git a/src/main/java/com/convertapi/client/Param.java b/src/main/java/com/convertapi/client/Param.java index 4344729..8a7ee27 100644 --- a/src/main/java/com/convertapi/client/Param.java +++ b/src/main/java/com/convertapi/client/Param.java @@ -105,7 +105,7 @@ public List getValue() throws ExecutionException, InterruptedException { private static CompletableFuture> upload(InputStream stream, String fileName, Config config) { return CompletableFuture.supplyAsync(() -> { - Request request = Http.getRequestBuilder() + Request request = Http.getRequestBuilder(config) .url(Http.getUrlBuilder(config).addPathSegment("upload") .addQueryParameter("filename", fileName) .build())