From 00a5b72bf32cb7aff9db97fdeb23dc6e223c911e Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Tue, 16 Jan 2024 14:32:40 -0600 Subject: [PATCH 1/2] added string util method for appending strings --- .../qqq/backend/core/utils/StringUtils.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java index 5f323ddf..a8348756 100755 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java @@ -176,6 +176,19 @@ public class StringUtils + /******************************************************************************* + ** safely appends a string to another, changing empty string if either value is null + ** + *******************************************************************************/ + public static String safeAppend(String input, String contentToAppend) + { + input = input != null ? input : ""; + contentToAppend = contentToAppend != null ? contentToAppend : ""; + return input + contentToAppend; + } + + + /******************************************************************************* ** returns input if not null, or nullOutput if input == null (as in SQL NVL) ** From 2681d66b3234b6b88bc57884cd56b55f3901d351 Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Thu, 1 Feb 2024 11:13:30 -0600 Subject: [PATCH 2/2] CE-779: updated all addHeader calls to setHeader to avoid duplicate entries --- .../module/api/actions/BaseAPIActionUtil.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java index a14b23b1..84e79e24 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java @@ -715,11 +715,11 @@ public class BaseAPIActionUtil if(backendMetaData.getAuthorizationType().equals(AuthorizationType.BASIC_AUTH_USERNAME_PASSWORD)) { - request.addHeader("Authorization", getBasicAuthenticationHeader(record.getValueString(backendMetaData.getVariantOptionsTableUsernameField()), record.getValueString(backendMetaData.getVariantOptionsTablePasswordField()))); + request.setHeader("Authorization", getBasicAuthenticationHeader(record.getValueString(backendMetaData.getVariantOptionsTableUsernameField()), record.getValueString(backendMetaData.getVariantOptionsTablePasswordField()))); } else if(backendMetaData.getAuthorizationType().equals(AuthorizationType.API_KEY_HEADER)) { - request.addHeader("API-Key", record.getValueString(backendMetaData.getVariantOptionsTableApiKeyField())); + request.setHeader("API-Key", record.getValueString(backendMetaData.getVariantOptionsTableApiKeyField())); } else { @@ -733,10 +733,10 @@ public class BaseAPIActionUtil /////////////////////////////////////////////////////////////////////////////////////////// switch(backendMetaData.getAuthorizationType()) { - case BASIC_AUTH_API_KEY -> request.addHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getApiKey())); - case BASIC_AUTH_USERNAME_PASSWORD -> request.addHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getUsername(), backendMetaData.getPassword())); - case API_KEY_HEADER -> request.addHeader("API-Key", backendMetaData.getApiKey()); - case API_TOKEN -> request.addHeader("Authorization", "Token " + backendMetaData.getApiKey()); + case BASIC_AUTH_API_KEY -> request.setHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getApiKey())); + case BASIC_AUTH_USERNAME_PASSWORD -> request.setHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getUsername(), backendMetaData.getPassword())); + case API_KEY_HEADER -> request.setHeader("API-Key", backendMetaData.getApiKey()); + case API_TOKEN -> request.setHeader("Authorization", "Token " + backendMetaData.getApiKey()); case OAUTH2 -> request.setHeader("Authorization", "Bearer " + getOAuth2Token()); case API_KEY_QUERY_PARAM -> { @@ -792,9 +792,9 @@ public class BaseAPIActionUtil if(setCredentialsInHeader) { - request.addHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getClientId(), backendMetaData.getClientSecret())); + request.setHeader("Authorization", getBasicAuthenticationHeader(backendMetaData.getClientId(), backendMetaData.getClientSecret())); } - request.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); + request.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); HttpResponse response = executeOAuthTokenRequest(client, request); int statusCode = response.getStatusLine().getStatusCode(); @@ -856,7 +856,7 @@ public class BaseAPIActionUtil *******************************************************************************/ protected void setupContentTypeInRequest(HttpRequestBase request) { - request.addHeader("Content-Type", backendMetaData.getContentType()); + request.setHeader("Content-Type", backendMetaData.getContentType()); } @@ -878,7 +878,7 @@ public class BaseAPIActionUtil *******************************************************************************/ public void setupAdditionalHeaders(HttpRequestBase request) { - request.addHeader("Accept", "application/json"); + request.setHeader("Accept", "application/json"); }