This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new aedacdf NIFI-8454: Allow InvokeHTTP to output final URL from response
request property
aedacdf is described below
commit aedacdf86f33ef944c17f3926656e35b7742bdff
Author: Paul Kelly <[email protected]>
AuthorDate: Wed Apr 21 15:24:31 2021 +0000
NIFI-8454: Allow InvokeHTTP to output final URL from response request
property
This closes #5016
Signed-off-by: David Handermann <[email protected]>
---
.../main/java/org/apache/nifi/processors/standard/InvokeHTTP.java | 7 +++++--
.../java/org/apache/nifi/processors/standard/InvokeHTTPTest.java | 1 +
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
index e2954a7..553c7e2 100644
---
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
+++
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
@@ -117,7 +117,8 @@ import static
org.apache.commons.lang3.StringUtils.trimToEmpty;
@WritesAttribute(attribute = InvokeHTTP.STATUS_MESSAGE, description =
"The status message that is returned"),
@WritesAttribute(attribute = InvokeHTTP.RESPONSE_BODY, description =
"In the instance where the status code received is not a success (2xx) "
+ "then the response body will be put to the
'invokehttp.response.body' attribute of the request FlowFile."),
- @WritesAttribute(attribute = InvokeHTTP.REQUEST_URL, description =
"The request URL"),
+ @WritesAttribute(attribute = InvokeHTTP.REQUEST_URL, description =
"The original request URL"),
+ @WritesAttribute(attribute = InvokeHTTP.RESPONSE_URL, description =
"The URL that was ultimately requested after any redirects were followed"),
@WritesAttribute(attribute = InvokeHTTP.TRANSACTION_ID, description =
"The transaction ID that is returned after reading the response"),
@WritesAttribute(attribute = InvokeHTTP.REMOTE_DN, description = "The
DN of the remote server"),
@WritesAttribute(attribute = InvokeHTTP.EXCEPTION_CLASS, description =
"The Java exception class raised when the processor fails"),
@@ -140,6 +141,7 @@ public class InvokeHTTP extends AbstractProcessor {
public final static String STATUS_MESSAGE = "invokehttp.status.message";
public final static String RESPONSE_BODY = "invokehttp.response.body";
public final static String REQUEST_URL = "invokehttp.request.url";
+ public final static String RESPONSE_URL = "invokehttp.response.url";
public final static String TRANSACTION_ID = "invokehttp.tx.id";
public final static String REMOTE_DN = "invokehttp.remote.dn";
public final static String EXCEPTION_CLASS =
"invokehttp.java.exception.class";
@@ -154,7 +156,7 @@ public class InvokeHTTP extends AbstractProcessor {
// This set includes our strings defined above as well as some standard
flowfile
// attributes.
public static final Set<String> IGNORED_ATTRIBUTES =
Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
- STATUS_CODE, STATUS_MESSAGE, RESPONSE_BODY, REQUEST_URL,
TRANSACTION_ID, REMOTE_DN,
+ STATUS_CODE, STATUS_MESSAGE, RESPONSE_BODY, REQUEST_URL,
RESPONSE_URL, TRANSACTION_ID, REMOTE_DN,
EXCEPTION_CLASS, EXCEPTION_MESSAGE,
"uuid", "filename", "path")));
@@ -856,6 +858,7 @@ public class InvokeHTTP extends AbstractProcessor {
statusAttributes.put(STATUS_CODE, String.valueOf(statusCode));
statusAttributes.put(STATUS_MESSAGE, statusMessage);
statusAttributes.put(REQUEST_URL, url.toExternalForm());
+ statusAttributes.put(RESPONSE_URL,
responseHttp.request().url().toString());
statusAttributes.put(TRANSACTION_ID, txId.toString());
if (requestFlowFile != null) {
diff --git
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
index e7fdaea..ddc2279 100644
---
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
+++
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
@@ -790,6 +790,7 @@ public class InvokeHTTPTest {
flowFile.assertAttributeExists(InvokeHTTP.STATUS_MESSAGE);
flowFile.assertAttributeExists(InvokeHTTP.TRANSACTION_ID);
flowFile.assertAttributeExists(InvokeHTTP.REQUEST_URL);
+ flowFile.assertAttributeExists(InvokeHTTP.RESPONSE_URL);
}
private void assertResponseSuccessRelationships() {