|
14 | 14 | import org.slf4j.Logger; |
15 | 15 | import org.slf4j.LoggerFactory; |
16 | 16 |
|
| 17 | +import javax.xml.bind.DatatypeConverter; |
17 | 18 |
|
18 | 19 | public class Databox { |
19 | 20 | static final Logger logger = LoggerFactory.getLogger(Databox.class); |
@@ -77,9 +78,8 @@ private boolean push(String rawData) { |
77 | 78 | conn.setRequestMethod("POST"); |
78 | 79 | conn.setRequestProperty("Content-Type", "application/json"); |
79 | 80 | 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")); |
81 | 82 | conn.setRequestProperty("Authorization", "Basic " + encodedToken); |
82 | | - |
83 | 83 | conn.setDoOutput(true); |
84 | 84 | conn.setDoInput(true); |
85 | 85 | conn.setConnectTimeout(5000); |
@@ -124,7 +124,7 @@ private boolean push(String rawData) { |
124 | 124 |
|
125 | 125 | private HttpURLConnection buildConnection(String method, String path) throws IOException { |
126 | 126 | 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")); |
128 | 128 | connection.setRequestProperty("Authorization", "Basic " + encodedToken); |
129 | 129 | connection.setRequestProperty("Content-Type", "application/json"); |
130 | 130 | connection.setRequestProperty("User-Agent", "Databox/" + CLIENT_VERSION + " (Java)"); |
@@ -190,4 +190,9 @@ public StringBuffer lastPushes(int n) throws IOException { |
190 | 190 | public StringBuffer lastPush() throws IOException { |
191 | 191 | return lastPushes(1); |
192 | 192 | } |
| 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 | + } |
193 | 198 | } |
0 commit comments