Repository: jena
Updated Branches:
  refs/heads/master cb7a6d179 -> c63aa381a


JENA-652 : Set CORS headers

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c08530fc
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c08530fc
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c08530fc

Branch: refs/heads/master
Commit: c08530fc4a0ba7894ae948ac2b241bedff64bf89
Parents: cb7a6d1
Author: Andy Seaborne <a...@apache.org>
Authored: Thu Oct 23 18:36:14 2014 +0100
Committer: Andy Seaborne <a...@apache.org>
Committed: Thu Oct 23 18:36:14 2014 +0100

----------------------------------------------------------------------
 jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java | 3 ++-
 .../main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java | 3 +--
 .../java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java     | 5 ++++-
 .../java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java    | 1 +
 .../java/org/apache/jena/fuseki/servlets/SPARQL_Update.java     | 1 +
 .../java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java     | 1 +
 .../main/java/org/apache/jena/fuseki/servlets/ServletBase.java  | 5 +++++
 7 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
index f6cee56..65d73c7 100644
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
+++ b/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
@@ -42,7 +42,8 @@ public class HttpNames
     
     // CORS: 
     //   http://www.w3.org/TR/cors/  http://esw.w3.org/CORS_Enabled
-    public static final String hAccessControlAllowOrigin = 
"Access-Control-Allow-Origin" ;
+    public static final String hAccessControlAllowOrigin  = 
"Access-Control-Allow-Origin" ;
+    public static final String hAccessControlAllowHeaders = 
"Access-Control-Allow-Headers" ;
     
     // Fuseki parameter names 
     public static final String paramGraph           = "graph" ;

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
index 27e76ac..9de80bc 100644
--- 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
+++ 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
@@ -69,8 +69,7 @@ public abstract class SPARQL_Query extends SPARQL_Protocol
     @Override
     protected void doOptions(HttpServletRequest request, HttpServletResponse 
response)
     {
-        //response.setHeader(HttpNames.hAllow, "GET,HEAD,OPTIONS,POST");
-        setCommonHeaders(response) ;
+        setCommonHeadersForOptions(response) ;
         response.setHeader(HttpNames.hAllow, "GET,OPTIONS,POST");
         response.setHeader(HttpNames.hContentLengh, "0") ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
index 3c5c926..0c02b51 100644
--- 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
+++ 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
@@ -47,7 +47,7 @@ public class SPARQL_REST_R extends SPARQL_REST
         // Assume success - do the set up before grabbing the lock.
         // Sets content type.
         MediaType mediaType = HttpAction.contentNegotationRDF(action) ;
-        
+       
         ServletOutputStream output ;
         try { output = action.response.getOutputStream() ; }
         catch (IOException ex) { errorOccurred(ex) ; output = null ; }
@@ -60,6 +60,7 @@ public class SPARQL_REST_R extends SPARQL_REST
                             action.id, mediaType.getContentType(), 
mediaType.getCharset(), lang.getName())) ;
 
         action.beginRead() ;
+        setCommonHeaders(action.response) ;
 
         try {
             Target target = determineTarget(action) ;
@@ -84,6 +85,7 @@ public class SPARQL_REST_R extends SPARQL_REST
     @Override
     protected void doOptions(HttpAction action)
     {
+        setCommonHeadersForOptions(action.response) ;
         action.response.setHeader(HttpNames.hAllow, "GET,HEAD,OPTIONS") ;
         action.response.setHeader(HttpNames.hContentLengh, "0") ;
         success(action) ;
@@ -92,6 +94,7 @@ public class SPARQL_REST_R extends SPARQL_REST
     @Override
     protected void doHead(HttpAction action)
     {
+        setCommonHeaders(action.response) ;
         action.beginRead() ;
         try { 
             Target target = determineTarget(action) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
index 32a65e6..712d543 100644
--- 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
+++ 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_RW.java
@@ -49,6 +49,7 @@ public class SPARQL_REST_RW extends SPARQL_REST_R
     @Override
     protected void doOptions(HttpAction action)
     {
+        setCommonHeadersForOptions(action.response) ;
         action.response.setHeader(HttpNames.hAllow, 
"GET,HEAD,OPTIONS,PUT,DELETE,POST");
         action.response.setHeader(HttpNames.hContentLengh, "0") ;
         success(action) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
index a54715c..f16f634 100644
--- 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
+++ 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
@@ -84,6 +84,7 @@ public class SPARQL_Update extends SPARQL_Protocol
     @Override
     protected void doOptions(HttpServletRequest request, HttpServletResponse 
response)
     {
+        setCommonHeadersForOptions(response) ;
         response.setHeader(HttpNames.hAllow, "OPTIONS,POST");
         response.setHeader(HttpNames.hContentLengh, "0") ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
index d5956e5..d21855f 100644
--- 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
+++ 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Upload.java
@@ -69,6 +69,7 @@ public class SPARQL_Upload extends SPARQL_ServletBase
     @Override
     protected void doOptions(HttpServletRequest request, HttpServletResponse 
response)
     {
+        setCommonHeadersForOptions(response) ;    
         response.setHeader(HttpNames.hAllow, "OPTIONS,POST");
         response.setHeader(HttpNames.hContentLengh, "0") ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/c08530fc/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java 
b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
index 473a7db..7a74fa9 100644
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
+++ b/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ServletBase.java
@@ -228,6 +228,11 @@ public abstract class ServletBase extends HttpServlet
         httpResponse.setHeader(HttpNames.hVary, varyHeaderSetting) ;
     }
 
+    public static void setCommonHeadersForOptions(HttpServletResponse 
httpResponse)
+    {
+        httpResponse.setHeader(HttpNames.hAccessControlAllowHeaders, 
"X-Requested-With, Content-Type, Authorization") ;
+        setCommonHeaders(httpResponse) ;
+    }
     
     public static void setCommonHeaders(HttpServletResponse httpResponse)
     {

Reply via email to