You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2008/12/23 22:51:17 UTC

svn commit: r729135 - /synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java

Author: veithen
Date: Tue Dec 23 13:51:17 2008
New Revision: 729135

URL: http://svn.apache.org/viewvc?rev=729135&view=rev
Log:
SYNAPSE-494: Take into account the return value of RESTUtil#processURLRequest in ServerWorker and properly terminate the request if RESTUtil can't decode it.

Modified:
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=729135&r1=729134&r2=729135&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java Tue Dec 23 13:51:17 2008
@@ -483,13 +483,19 @@
 
         } else {
             try {
-                RESTUtil.processURLRequest(
+                if (RESTUtil.processURLRequest(
                         msgContext, os, (request.getFirstHeader(SOAPACTION) != null ?
                         request.getFirstHeader(SOAPACTION).getValue() : null),
-                        request.getRequestLine().getUri(), cfgCtx, parameters);
-                // do not let the output stream close (as by default below) since
-                // we are serving this GET request through the Synapse engine
-                return;
+                        request.getRequestLine().getUri(), cfgCtx, parameters)) {
+                    // If RestUtil succesfully decoded the request, do not let the output
+                    // stream close (as by default below) since we are serving this GET request
+                    // through the Synapse engine
+                    return;
+                } else {
+                    response.setStatusCode(HttpStatus.SC_MOVED_PERMANENTLY);
+                    response.addHeader(LOCATION, servicePath + "/");
+                    serverHandler.commitResponseHideExceptions(conn, response);
+                }
                     
             } catch (AxisFault axisFault) {
                 handleException("Error processing GET request for: " +