Author: ruwan
Date: Wed Feb 24 16:45:55 2010
New Revision: 915860
URL: http://svn.apache.org/viewvc?rev=915860&view=rev
Log:
Ability to disable the HTTP methods of the NHTTP transport
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java?rev=915860&r1=915859&r2=915860&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
Wed Feb 24 16:45:55 2010
@@ -23,6 +23,8 @@
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.commons.util.MiscellaneousUtil;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
/**
@@ -54,6 +56,7 @@
// general
private static final String G_BUFFER_SIZE = "nhttp_buffer_size";
+ private static final String G_DISABLED_HTTP_METHODS =
"nhttp_disabled_methods";
private static final Log log = LogFactory.getLog(NHttpConfiguration.class);
private static NHttpConfiguration _instance = new NHttpConfiguration();
@@ -175,4 +178,13 @@
return val == null ? def : val;
}
+ public List<String> getDisabledHttpMethods() {
+ ArrayList<String> methods = new ArrayList<String>();
+ String methodsString = getStringValue(G_DISABLED_HTTP_METHODS, "");
+ for (String methodStr : methodsString.split(",")) {
+ methods.add(methodStr.trim().toUpperCase());
+ }
+ return methods;
+ }
+
}
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=915860&r1=915859&r2=915860&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
Wed Feb 24 16:45:55 2010
@@ -239,7 +239,11 @@
}
}
msgContext.setProperty(NhttpConstants.SERVICE_PREFIX, servicePrefix);
-
+
+ List<String> disabledMethods =
NHttpConfiguration.getInstance().getDisabledHttpMethods();
+ if (disabledMethods.contains(method)) {
+ handleException("Unsupported method : " + method, null);
+ }
if ("GET".equals(method)) {
processGet();