You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/02/24 17:45:56 UTC

svn commit: r915860 - in /synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp: NHttpConfiguration.java ServerWorker.java

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();