Author: sergeyb
Date: Wed Jul 29 14:58:17 2009
New Revision: 798930

URL: http://svn.apache.org/viewvc?rev=798930&view=rev
Log:
JAXRS : improving the way OPTIONS verb is handled

Modified:
    
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java

Modified: 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java?rev=798930&r1=798929&r2=798930&view=diff
==============================================================================
--- 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
 (original)
+++ 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
 Wed Jul 29 14:58:17 2009
@@ -333,9 +333,17 @@
     public static ResponseBuilder createResponseBuilder(ClassResourceInfo cri, 
int status, boolean addAllow) {
         ResponseBuilder rb = Response.status(status);
         if (addAllow) {
-            for (String m : cri.getAllowedMethods()) {
+            Set<String> allowedMethods = cri.getAllowedMethods();
+            for (String m : allowedMethods) {
                 rb.header("Allow", m);
             }
+            // "OPTIONS" are supported all the time really
+            if (!allowedMethods.contains("OPTIONS")) {
+                rb.header("Allow", "OPTIONS");
+            }
+            if (!allowedMethods.contains("HEAD") && 
allowedMethods.contains("GET")) {
+                rb.header("Allow", "HEAD");
+            }
         }
         return rb;
     }


Reply via email to