Skip to content

Commit 431dd9b

Browse files
committed
base64 encoder thing
1 parent b43c0cc commit 431dd9b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/java/com/databox/sdk/Databox.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.slf4j.Logger;
1515
import org.slf4j.LoggerFactory;
1616

17+
import javax.xml.bind.DatatypeConverter;
1718

1819
public class Databox {
1920
static final Logger logger = LoggerFactory.getLogger(Databox.class);
@@ -77,9 +78,8 @@ private boolean push(String rawData) {
7778
conn.setRequestMethod("POST");
7879
conn.setRequestProperty("Content-Type", "application/json");
7980
conn.setRequestProperty("User-Agent", "Databox/" + CLIENT_VERSION + " (Java)");
80-
String encodedToken = new String(Base64.getEncoder().encode((_token + ": ").getBytes("UTF-8")));
81+
String encodedToken = base64Encode((_token + ": ").getBytes("UTF-8"));
8182
conn.setRequestProperty("Authorization", "Basic " + encodedToken);
82-
8383
conn.setDoOutput(true);
8484
conn.setDoInput(true);
8585
conn.setConnectTimeout(5000);
@@ -124,7 +124,7 @@ private boolean push(String rawData) {
124124

125125
private HttpURLConnection buildConnection(String method, String path) throws IOException {
126126
HttpURLConnection connection = (HttpURLConnection) (new URL(_host + path)).openConnection();
127-
String encodedToken = new String(Base64.getEncoder().encode((_token + ": ").getBytes("UTF-8")));
127+
String encodedToken = base64Encode((_token + ": ").getBytes("UTF-8"));
128128
connection.setRequestProperty("Authorization", "Basic " + encodedToken);
129129
connection.setRequestProperty("Content-Type", "application/json");
130130
connection.setRequestProperty("User-Agent", "Databox/" + CLIENT_VERSION + " (Java)");
@@ -190,4 +190,9 @@ public StringBuffer lastPushes(int n) throws IOException {
190190
public StringBuffer lastPush() throws IOException {
191191
return lastPushes(1);
192192
}
193+
194+
private String base64Encode(byte[] input) {
195+
Double version = Double.parseDouble(System.getProperty("java.specification.version"));
196+
return version < 1.8 ? DatatypeConverter.printBase64Binary(input) : new String(Base64.getEncoder().encode(input));
197+
}
193198
}

0 commit comments

Comments
 (0)