You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by je...@apache.org on 2021/11/16 19:22:42 UTC
[camel] branch main updated: CAMEL-11078: camel-salesforce: Expose HTTP response code/message.
This is an automated email from the ASF dual-hosted git repository.
jeremyross pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new fdf484e CAMEL-11078: camel-salesforce: Expose HTTP response code/message.
fdf484e is described below
commit fdf484e9244f5bf12ed346cbe0486ebf18b77aa2
Author: Jeremy Ross <je...@gmail.com>
AuthorDate: Tue Nov 16 13:21:21 2021 -0600
CAMEL-11078: camel-salesforce: Expose HTTP response code/message.
---
.../src/main/docs/salesforce-component.adoc | 3 +++
.../salesforce/internal/client/AbstractClientBase.java | 2 ++
.../camel/component/salesforce/RestApiIntegrationTest.java | 10 ++++++++++
3 files changed, 15 insertions(+)
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index fc310d0..1506fc0 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -133,6 +133,9 @@ class MyProcessor implements Processor {
}
----
+In addition, HTTP response status code and text are available as headers `Exchange.HTTP_RESPONSE_CODE` and
+`Exchange.HTTP_RESPONSE_TEXT`.
+
== Supported Salesforce APIs
The component supports the following Salesforce APIs
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
index 28aa214..66f0610 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
@@ -305,6 +305,8 @@ public abstract class AbstractClientBase extends ServiceSupport
answer.put(headerName, header.getValue());
}
}
+ answer.put(Exchange.HTTP_RESPONSE_CODE, String.valueOf(response.getStatus()));
+ answer.put(Exchange.HTTP_RESPONSE_TEXT, response.getReason());
return answer;
}
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
index 362f88e..31afd77 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
@@ -26,6 +26,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.CamelExecutionException;
+import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.salesforce.api.NoSuchSObjectException;
@@ -50,6 +51,7 @@ import org.apache.camel.component.salesforce.dto.generated.QueryRecordsContact;
import org.apache.camel.component.salesforce.dto.generated.QueryRecordsLine_Item__c;
import org.apache.camel.component.salesforce.dto.generated.Task;
import org.apache.camel.component.salesforce.dto.generated.User;
+import org.apache.camel.support.DefaultExchange;
import org.apache.camel.support.jsse.SSLContextParameters;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.api.ContentResponse;
@@ -204,6 +206,14 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase {
}
@Test
+ public void returnsHttpResponseStatusAndText() {
+ Exchange exchange = new DefaultExchange(context);
+ template().send("direct:query", exchange);
+ assertEquals("200", exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
+ assertNotNull(exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_TEXT));
+ }
+
+ @Test
public void testCreateUpdateDelete() throws Exception {
final Merchandise__c merchandise = new Merchandise__c();
merchandise.setName("Wee Wee Wee Plane");