diff --git a/src/main/java/com/bunq/sdk/http/ApiClient.java b/src/main/java/com/bunq/sdk/http/ApiClient.java index e747d84a..7ed201b9 100644 --- a/src/main/java/com/bunq/sdk/http/ApiClient.java +++ b/src/main/java/com/bunq/sdk/http/ApiClient.java @@ -238,7 +238,7 @@ private void setDefaultHeaders(BunqRequestBuilder httpEntity) { BunqHeader.userAgent.addTo(httpEntity); BunqHeader.language.addTo(httpEntity); BunqHeader.region.addTo(httpEntity); - BunqHeader.clientRequestId.addTo(httpEntity,UUID.randomUUID().toString()); + BunqHeader.clientRequestId.addTo(httpEntity, UUID.randomUUID().toString()); BunqHeader.geolocation.addTo(httpEntity); } @@ -256,8 +256,8 @@ private void setSessionHeaders(BunqRequestBuilder requestBuilder) { String sessionToken = apiContext.getSessionToken(); if (sessionToken != null) { - BunqHeader.clientAuthentication.addTo(requestBuilder,sessionToken); - BunqHeader.clientSignature.addTo(requestBuilder,generateSignature(requestBuilder)); + BunqHeader.clientAuthentication.addTo(requestBuilder, sessionToken); + BunqHeader.clientSignature.addTo(requestBuilder, generateSignature(requestBuilder)); } } diff --git a/src/main/java/com/bunq/sdk/http/BunqBasicHeader.java b/src/main/java/com/bunq/sdk/http/BunqBasicHeader.java index a73dd2ec..b2672c7c 100644 --- a/src/main/java/com/bunq/sdk/http/BunqBasicHeader.java +++ b/src/main/java/com/bunq/sdk/http/BunqBasicHeader.java @@ -17,7 +17,7 @@ public class BunqBasicHeader { private final BunqHeader name; private final String value; - public static BunqBasicHeader get(BunqHeader header,Response response) { + public static BunqBasicHeader get(BunqHeader header, Response response) { return new BunqBasicHeader(header, response.header(header.getHeader())); } @@ -35,7 +35,7 @@ public String getValue() { } private String forSigning() { - return getName().getHeader()+DELIMITER_HEADER_NAME_AND_VALUE+getValue(); + return getName().getHeader() + DELIMITER_HEADER_NAME_AND_VALUE + getValue(); } public static String collectForSigning( @@ -67,4 +67,4 @@ public static String collectForSigning( return stringBuffer.toString(); } -} \ No newline at end of file +} diff --git a/src/main/java/com/bunq/sdk/http/BunqHeader.java b/src/main/java/com/bunq/sdk/http/BunqHeader.java index 5ab93ecc..519df850 100644 --- a/src/main/java/com/bunq/sdk/http/BunqHeader.java +++ b/src/main/java/com/bunq/sdk/http/BunqHeader.java @@ -5,7 +5,7 @@ public enum BunqHeader { attachmentDescription("X-Bunq-Attachment-Description"), - cacheControl("Cache-Control","no-cache"), + cacheControl("Cache-Control", "no-cache"), contentType("Content-Type"), clientAuthentication("X-Bunq-Client-Authentication"), clientEncryptionHMAC("X-Bunq-Client-Encryption-Hmac"), @@ -26,7 +26,7 @@ public enum BunqHeader { private final String defaultValue; BunqHeader(String header) { - this(header,null); + this(header, null); } BunqHeader(String header, String defaultValue) { @@ -53,15 +53,19 @@ public String getDefaultValue() { } private String getOrDefault(String value) { - return value != null ? value : getDefaultValue(); + if (value != null) { + return value; + } + + return getDefaultValue(); } - public void addTo(Map headers, String value) { + public void addTo(Map headers, String value) { headers.put(getHeader(), getOrDefault(value)); } public void addTo(BunqRequestBuilder requestBuilder) { - addTo(requestBuilder,null); + addTo(requestBuilder, null); } public void addTo(BunqRequestBuilder requestBuilder, String value) { @@ -86,7 +90,7 @@ private String findKey(Collection keys) { return null; } - public String getOrDefault(Map headers) { + public String getOrDefault(Map headers) { String key = findKey(headers.keySet()); if (key != null && headers.get(key) != null) { return headers.get(key); diff --git a/src/main/java/com/bunq/sdk/http/BunqRequestBuilder.java b/src/main/java/com/bunq/sdk/http/BunqRequestBuilder.java index d89ed3cb..a52dd82c 100644 --- a/src/main/java/com/bunq/sdk/http/BunqRequestBuilder.java +++ b/src/main/java/com/bunq/sdk/http/BunqRequestBuilder.java @@ -75,7 +75,7 @@ public BunqRequestBuilder url(URL url) { return (BunqRequestBuilder) super.url(url); } - private void addToAllHeader(String name,String value) { + private void addToAllHeader(String name, String value) { BunqHeader header = BunqHeader.parse(name); if (header != null) { diff --git a/src/main/java/com/bunq/sdk/security/SecurityUtils.java b/src/main/java/com/bunq/sdk/security/SecurityUtils.java index a45a0bf2..484ce31d 100644 --- a/src/main/java/com/bunq/sdk/security/SecurityUtils.java +++ b/src/main/java/com/bunq/sdk/security/SecurityUtils.java @@ -3,7 +3,10 @@ import com.bunq.sdk.context.ApiContext; import com.bunq.sdk.exception.BunqException; import com.bunq.sdk.exception.UncaughtExceptionError; -import com.bunq.sdk.http.*; +import com.bunq.sdk.http.BunqBasicHeader; +import com.bunq.sdk.http.BunqHeader; +import com.bunq.sdk.http.BunqRequestBuilder; +import com.bunq.sdk.http.HttpMethod; import okhttp3.Headers; import okhttp3.Response; import okio.BufferedSink; @@ -30,7 +33,12 @@ import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Base64; +import java.util.Collections; +import java.util.List; +import java.util.Map; /** * Static lib containing methods for handling encryption. @@ -383,7 +391,7 @@ private static String generateRequestHeadersSortedString(BunqRequestBuilder bunq return BunqBasicHeader.collectForSigning( bunqRequestBuilder.getAllHeader(), null, - Arrays.asList(BunqHeader.cacheControl,BunqHeader.userAgent) + Arrays.asList(BunqHeader.cacheControl, BunqHeader.userAgent) ); } @@ -459,7 +467,7 @@ public static void validateResponseSignature( response.headers() ); Signature signature = getSignatureInstance(); - BunqBasicHeader serverSignature = BunqBasicHeader.get(BunqHeader.serverSignature,response); + BunqBasicHeader serverSignature = BunqBasicHeader.get(BunqHeader.serverSignature, response); byte[] serverSignatureBase64Bytes = serverSignature.getValue().getBytes(); byte[] serverSignatureDecoded = Base64.getDecoder().decode(serverSignatureBase64Bytes); @@ -478,12 +486,12 @@ private static byte[] getResponseBytes( BunqHeader header = BunqHeader.parse(allHeader.name(i)); if (header != null && !BunqHeader.serverSignature.equals(header)) { - allResponseHeader.add(new BunqBasicHeader(header,allHeader.get(allHeader.name(i)))); + allResponseHeader.add(new BunqBasicHeader(header, allHeader.get(allHeader.name(i)))); } } try { - outputStream.write(getResponseHeadBytes(responseCode,allResponseHeader)); + outputStream.write(getResponseHeadBytes(responseCode, allResponseHeader)); outputStream.write(responseBodyBytes); } catch (IOException exception) { throw new UncaughtExceptionError(exception); @@ -492,9 +500,9 @@ private static byte[] getResponseBytes( return outputStream.toByteArray(); } - private static byte[] getResponseHeadBytes(int responseCode, List responseHeaders) { - String requestHeadString = responseCode + NEWLINE + - generateResponseHeadersSortedString(responseHeaders) + NEWLINE + NEWLINE; + private static byte[] getResponseHeadBytes(int code, List headers) { + String requestHeadString = code + NEWLINE + + generateResponseHeadersSortedString(headers) + NEWLINE + NEWLINE; return requestHeadString.getBytes(); } diff --git a/src/test/java/com/bunq/sdk/http/BunqHeaderTest.java b/src/test/java/com/bunq/sdk/http/BunqHeaderTest.java index 748fa413..ddaf0c78 100644 --- a/src/test/java/com/bunq/sdk/http/BunqHeaderTest.java +++ b/src/test/java/com/bunq/sdk/http/BunqHeaderTest.java @@ -1,10 +1,14 @@ package com.bunq.sdk.http; -import org.junit.Test; +import java.util.Collections; +import java.util.Map; +import java.util.HashMap; -import java.util.*; +import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class BunqHeaderTest { @Test @@ -40,9 +44,12 @@ public void isBunq() { public void getOrDefault() { BunqHeader h = BunqHeader.clientResponseId; - assertEquals("test-id", h.getOrDefault(Collections.singletonMap("x-bunq-client-response-id", "test-id"))); - assertEquals("Could not determine response id.", h.getOrDefault(Collections.singletonMap("x-bunq-some-other-header", "test-id"))); - assertEquals("Could not determine response id.", h.getOrDefault(Collections.emptyMap())); + assertEquals("test-id", + h.getOrDefault(Collections.singletonMap("x-bunq-client-response-id", "test-id"))); + assertEquals("Could not determine response id.", + h.getOrDefault(Collections.singletonMap("x-bunq-some-other-header", "test-id"))); + assertEquals("Could not determine response id.", + h.getOrDefault(Collections.emptyMap())); } @Test