You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2012/05/23 19:12:47 UTC

svn commit: r1341952 - in /tuscany/sca-java-2.x/trunk/modules: binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/ binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/

Author: rfeng
Date: Wed May 23 17:12:46 2012
New Revision: 1341952

URL: http://svn.apache.org/viewvc?rev=1341952&view=rev
Log:
Add CORS support for servlet based impl with REST binding

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingListenerServlet.java
    tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceListenerServlet.java
    tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java

Modified: tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingListenerServlet.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingListenerServlet.java?rev=1341952&r1=1341951&r2=1341952&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingListenerServlet.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingListenerServlet.java Wed May 23 17:12:46 2012
@@ -39,6 +39,7 @@ import org.apache.tuscany.sca.common.htt
 import org.apache.tuscany.sca.common.http.HTTPContentTypeMapper;
 import org.apache.tuscany.sca.common.http.HTTPContext;
 import org.apache.tuscany.sca.common.http.HTTPHeader;
+import org.apache.tuscany.sca.common.http.cors.CORSHeaderProcessor;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -78,6 +79,9 @@ public class RESTBindingListenerServlet 
 
     @Override
     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        if (binding.isCORS()) {
+            CORSHeaderProcessor.processCORS(binding.getCORSConfiguration(), request, response);
+        }
         if( binding.getOperationSelector() != null || binding.getRequestWireFormat() != null) {
             HTTPContext bindingContext = new HTTPContext();
             bindingContext.setHttpRequest(request);

Modified: tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceListenerServlet.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceListenerServlet.java?rev=1341952&r1=1341951&r2=1341952&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceListenerServlet.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceListenerServlet.java Wed May 23 17:12:46 2012
@@ -36,6 +36,7 @@ import org.apache.tuscany.sca.binding.re
 import org.apache.tuscany.sca.common.http.HTTPCacheContext;
 import org.apache.tuscany.sca.common.http.HTTPContext;
 import org.apache.tuscany.sca.common.http.HTTPHeader;
+import org.apache.tuscany.sca.common.http.cors.CORSHeaderProcessor;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -82,6 +83,9 @@ public class RESTServiceListenerServlet 
 
     @Override
     public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        if (binding.isCORS()) {
+            CORSHeaderProcessor.processCORS(binding.getCORSConfiguration(), request, response);
+        }
         HTTPContext bindingContext = new HTTPContext();
         bindingContext.setHttpRequest(request);
         bindingContext.setHttpResponse(response);

Modified: tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java?rev=1341952&r1=1341951&r2=1341952&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java Wed May 23 17:12:46 2012
@@ -205,6 +205,7 @@ public class RESTBindingProcessor extend
                                 restBinding.setResponseWireFormat((WireFormat)extension);
                             } else if(extension instanceof OperationSelector) {
                                 restBinding.setOperationSelector((OperationSelector)extension);
+                                restBinding.setCORS(true);
                             }
                         }
                         break;