Skip to content

Commit efcbd1d

Browse files
committed
Add token authentication
1 parent d82a351 commit efcbd1d

File tree

9 files changed

+210
-75
lines changed

9 files changed

+210
-75
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.idea
2-
out
2+
out
3+
/target/
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.convertapi.examples;
2+
3+
import com.convertapi.client.Config;
4+
import com.convertapi.client.ConvertApi;
5+
6+
import static java.lang.System.getenv;
7+
8+
/**
9+
* Most simple conversion example with token authentication
10+
*/
11+
public class SimpleConversion {
12+
13+
public static void main(String[] args) {
14+
Config.setDefaultToken(getenv("CONVERTAPI_TOKEN")); // Generate your token: https://www.convertapi.com/doc/auth
15+
Config.setDefaultApiKey(getenv("CONVERTAPI_APIKEY")); // Get your api key: https://www.convertapi.com/a
16+
String resourcePath = "files/test.docx";
17+
String tmpDir = System.getProperty("java.io.tmpdir") + "/";
18+
19+
// Simplified file to file conversion example
20+
ConvertApi.convertFile(resourcePath, tmpDir + "/result.pdf");
21+
22+
System.out.println("PDF file saved to: " + tmpDir + "result.pdf");
23+
}
24+
}

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@
7171
<dependency>
7272
<groupId>com.google.code.gson</groupId>
7373
<artifactId>gson</artifactId>
74-
<version>2.8.5</version>
74+
<version>2.8.8</version>
7575
</dependency>
7676
<dependency>
7777
<groupId>com.squareup.okhttp3</groupId>
7878
<artifactId>okhttp</artifactId>
79-
<version>3.10.0</version>
79+
<version>4.9.2</version>
8080
</dependency>
8181
</dependencies>
8282

src/main/java/com/convertapi/client/Config.java

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@
77
public class Config {
88

99
private static String defaultSecret;
10+
private static String defaultToken;
11+
private static String defaultApiKey;
1012
private static int defaultTimeout = 0; // Infinite read waiting
1113
private static Function<OkHttpClient.Builder, OkHttpClient.Builder> defaultHttpClientBuilder = b -> b;
1214
private static final String SCHEME = "https";
13-
@SuppressWarnings("SpellCheckingInspection")
1415
private static final String HOST = "v2.convertapi.com";
1516
private final String scheme;
1617
private final String host;
1718
private final String secret;
19+
private final String token;
20+
private final String apiKey;
1821
private final int timeout;
1922
private final Function<OkHttpClient.Builder, OkHttpClient.Builder> httpClientBuilder;
2023

@@ -23,30 +26,65 @@ public Config(String secret, String scheme, String host, int timeout, Function<O
2326
this.scheme = scheme;
2427
this.host = host;
2528
this.secret = secret;
29+
this.token = null;
30+
this.apiKey = null;
31+
this.timeout = timeout;
32+
this.httpClientBuilder = httpClientBuilder;
33+
}
34+
35+
@SuppressWarnings("unused")
36+
public Config(String token, String apiKey, String scheme, String host, int timeout, Function<OkHttpClient.Builder, OkHttpClient.Builder> httpClientBuilder) {
37+
this.scheme = scheme;
38+
this.host = host;
39+
this.secret = null;
40+
this.token = token;
41+
this.apiKey = apiKey;
2642
this.timeout = timeout;
2743
this.httpClientBuilder = httpClientBuilder;
2844
}
2945

3046
@SuppressWarnings("WeakerAccess")
3147
public static Config defaults() {
32-
return new Config(Config.defaultSecret, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder);
48+
if (Config.defaultSecret != null)
49+
return new Config(Config.defaultSecret, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder);
50+
return new Config(Config.defaultToken, Config.defaultApiKey, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder);
3351
}
3452

3553
@SuppressWarnings("WeakerAccess")
3654
public static Config defaults(String secret) {
3755
return new Config(secret, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder);
3856
}
3957

58+
@SuppressWarnings("WeakerAccess")
59+
public static Config defaults(String token, String apiKey) {
60+
return new Config(token, apiKey, SCHEME, HOST, defaultTimeout, Config.defaultHttpClientBuilder);
61+
}
62+
4063
@SuppressWarnings("WeakerAccess")
4164
public static Config defaults(String secret, Function<OkHttpClient.Builder, OkHttpClient.Builder> httpClientBuilder) {
4265
return new Config(secret, SCHEME, HOST, defaultTimeout, httpClientBuilder);
4366
}
4467

68+
@SuppressWarnings("WeakerAccess")
69+
public static Config defaults(String token, String apiKey, Function<OkHttpClient.Builder, OkHttpClient.Builder> httpClientBuilder) {
70+
return new Config(token, apiKey, SCHEME, HOST, defaultTimeout, httpClientBuilder);
71+
}
72+
4573
@SuppressWarnings("unused")
4674
public static void setDefaultSecret(String defaultSecret) {
4775
Config.defaultSecret = defaultSecret;
4876
}
4977

78+
@SuppressWarnings("unused")
79+
public static void setDefaultToken(String defaultToken) {
80+
Config.defaultToken = defaultToken;
81+
}
82+
83+
@SuppressWarnings("unused")
84+
public static void setDefaultApiKey(String defaultApiKey) {
85+
Config.defaultApiKey = defaultApiKey;
86+
}
87+
5088
@SuppressWarnings("unused")
5189
public static void setDefaultTimeout(int defaultTimeout) {
5290
Config.defaultTimeout = defaultTimeout;
@@ -73,6 +111,14 @@ String getSecret() {
73111
return secret;
74112
}
75113

114+
String getToken() {
115+
return token;
116+
}
117+
118+
String getApiKey() {
119+
return apiKey;
120+
}
121+
76122
Function<OkHttpClient.Builder, OkHttpClient.Builder> getHttpClientBuilder() {
77123
return httpClientBuilder;
78124
}

src/main/java/com/convertapi/client/ConversionResult.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public Integer fileCount() {
2828
}
2929

3030
public List<String> urls() {
31-
@SuppressWarnings("unchecked")
32-
List<String> valueList = new ArrayList();
31+
List<String> valueList = new ArrayList<>();
3332
for (ConversionResponseFile file : response.Files) {
3433
valueList.add(file.Url);
3534
}
@@ -59,7 +58,7 @@ public CompletableFuture<Path> saveFile(Path file) {
5958
@SuppressWarnings("WeakerAccess")
6059
public List<CompletableFuture<Path>> saveFiles(Path directory) {
6160
if (!Files.isDirectory(directory)) {
62-
throw new RuntimeException("Directory expected, but received: " + directory.toString());
61+
throw new RuntimeException("Directory expected, but received: " + directory);
6362
}
6463
List<CompletableFuture<Path>> paths = new ArrayList<>();
6564
for (int i = 0; i < response.Files.length; i++) {

0 commit comments

Comments
 (0)