You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by tk...@apache.org on 2015/10/18 19:25:27 UTC
nifi git commit: NIFI-747 Added some comments about servlet
requirements and ensuring that the behavior matches original
Repository: nifi
Updated Branches:
refs/heads/NIFI-747 23b7ffb19 -> 645d3cc2f
NIFI-747 Added some comments about servlet requirements and ensuring that the behavior matches original
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/645d3cc2
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/645d3cc2
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/645d3cc2
Branch: refs/heads/NIFI-747
Commit: 645d3cc2f19d96dc8efff6208be6eb1c0fdd0e3e
Parents: 23b7ffb
Author: Tony Kurc <tr...@gmail.com>
Authored: Sun Oct 18 13:18:43 2015 -0400
Committer: Tony Kurc <tr...@gmail.com>
Committed: Sun Oct 18 13:18:43 2015 -0400
----------------------------------------------------------------------
.../apache/nifi/processors/standard/ListenHTTP.java | 14 +++++++++++---
.../standard/servlets/ListenHTTPServlet.java | 3 ++-
2 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/645d3cc2/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenHTTP.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenHTTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenHTTP.java
index 1aee96f..f76756b 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenHTTP.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenHTTP.java
@@ -78,9 +78,9 @@ public class ListenHTTP extends AbstractSessionFactoryProcessor {
.name("URI")
.description("URI for incoming connections")
.required(true)
- .defaultValue("/contentListener")
+ .defaultValue("contentListener")
.addValidator(StandardValidators.URI_VALIDATOR)
- .addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("/.*")))
+ .addValidator(StandardValidators.createRegexMatchingValidator(Pattern.compile("(^[^/]+.*[^/]+$|^[^/]+$|^$)"))) // no start with / or end with /
.build();
public static final PropertyDescriptor PORT = new PropertyDescriptor.Builder()
.name("Listening Port")
@@ -239,7 +239,14 @@ public class ListenHTTP extends AbstractSessionFactoryProcessor {
final ServletContextHandler contextHandler = new ServletContextHandler(server, "/", true, (keystorePath != null));
for (final Class<? extends Servlet> cls : getServerClasses()) {
final Path path = cls.getAnnotation(Path.class);
- contextHandler.addServlet(cls, uri + path.value());
+ // Note: servlets must have a path annotation - this will NPE otherwise
+ if(uri.isEmpty() && !path.value().isEmpty()){
+ // Note: this is to handle the condition of an empty uri, otherwise pathSpec would start with //
+ contextHandler.addServlet(cls, path.value());
+ }
+ else{
+ contextHandler.addServlet(cls, "/" + uri + path.value());
+ }
}
contextHandler.setAttribute(CONTEXT_ATTRIBUTE_PROCESSOR, this);
@@ -265,6 +272,7 @@ public class ListenHTTP extends AbstractSessionFactoryProcessor {
protected Set<Class<? extends Servlet>> getServerClasses() {
final Set<Class<? extends Servlet>> s = new HashSet<>();
+ // NOTE: Servlets added below MUST have a Path annotation
s.add(ListenHTTPServlet.class);
s.add(ContentAcknowledgmentServlet.class);
return s;
http://git-wip-us.apache.org/repos/asf/nifi/blob/645d3cc2/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/servlets/ListenHTTPServlet.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/servlets/ListenHTTPServlet.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/servlets/ListenHTTPServlet.java
index 6d09913..6da32d5 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/servlets/ListenHTTPServlet.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/servlets/ListenHTTPServlet.java
@@ -61,7 +61,8 @@ import org.apache.nifi.util.FlowFileUnpackagerV3;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
-@Path("/*")
+
+@Path("")
public class ListenHTTPServlet extends HttpServlet {
private static final long serialVersionUID = 5329940480987723163L;