From b7bdacf8736e7e3c04a9d1d05143981a6e6d9839 Mon Sep 17 00:00:00 2001 From: Stephen Fox Date: Wed, 22 Nov 2023 15:13:53 -0500 Subject: [PATCH] Fix Charset encoding on Outbound --- CHANGELOG.md | 1 + gradle.properties | 2 +- .../connid/base/connector/driver/rest/BaseRestDriver.java | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e3688b..b65b5ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and minimize the interactions with the ConnId framework and have much of that taken care of by a common API. # Change Log ++ **4.1.8** - Fix Charset on outbound to specify UTF-8 charset + **4.1.7** - FIN-11103 - Support multiple PEM content types (11/06/2023) + **4.1.6** - FIN-11103 - Private Key and PEM changed to guarded string (11/02/2023) + **4.1.5** - FIN-11103 - Private Key and PEM support for ADP (11/01/2023) diff --git a/gradle.properties b/gradle.properties index e060dc6..35e68c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -software_version=4.1.7 +software_version=4.1.8 test_connector_version=3.0.1 diff --git a/src/main/java/com/exclamationlabs/connid/base/connector/driver/rest/BaseRestDriver.java b/src/main/java/com/exclamationlabs/connid/base/connector/driver/rest/BaseRestDriver.java index 986e808..77bc5ea 100644 --- a/src/main/java/com/exclamationlabs/connid/base/connector/driver/rest/BaseRestDriver.java +++ b/src/main/java/com/exclamationlabs/connid/base/connector/driver/rest/BaseRestDriver.java @@ -32,9 +32,9 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonSyntaxException; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.net.InetSocketAddress; import java.net.URI; +import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.commons.codec.Charsets; import org.apache.commons.lang3.StringUtils; @@ -50,8 +50,8 @@ import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.entity.ByteArrayEntity; import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; @@ -636,8 +636,8 @@ protected void setupJsonRequestBody( } try { - request.setEntity(new StringEntity(bodyData)); - } catch (UnsupportedEncodingException e) { + request.setEntity(new ByteArrayEntity(bodyData.getBytes(StandardCharsets.UTF_8))); + } catch (Exception e) { throw new ConnectorException("Request body encoding failed for data: " + bodyData, e); } }