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:54:21 UTC

svn commit: r915865 - 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:54:20 2010
New Revision: 915865

URL: http://svn.apache.org/viewvc?rev=915865&view=rev
Log:
Improving the handling of disabling the HTTP method

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=915865&r1=915864&r2=915865&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:54:20 2010
@@ -61,6 +61,7 @@
     private static final Log log = LogFactory.getLog(NHttpConfiguration.class);
     private static NHttpConfiguration _instance = new NHttpConfiguration();
     private Properties props;
+    List<String> methods;
 
     private NHttpConfiguration() {
         try {
@@ -178,13 +179,15 @@
         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());
+    public boolean isHttpMethodDisabled(String method) {
+        if (methods == null) {
+            methods = new ArrayList<String>();
+            String methodsString = getStringValue(G_DISABLED_HTTP_METHODS, "");
+            for (String methodStr : methodsString.split(",")) {
+                methods.add(methodStr.trim().toUpperCase());
+            }
         }
-        return methods;
+        return methods.contains(method);
     }
 
 }

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=915865&r1=915864&r2=915865&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:54:20 2010
@@ -198,6 +198,10 @@
         msgContext.setProperty(Constants.Configuration.HTTP_METHOD,
             request.getRequestLine().getMethod());
 
+        if (NHttpConfiguration.getInstance().isHttpMethodDisabled(method)) {
+            handleException("Unsupported method : " + method, null);
+        }
+
         String uri = request.getRequestLine().getUri();
         String oriUri = uri;
 
@@ -239,11 +243,6 @@
             }
         }
         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();