Author: mrdon
Date: Sat Apr 19 07:15:51 2008
New Revision: 649820

URL: http://svn.apache.org/viewvc?rev=649820&view=rev
Log:
Changing return code to 201 when location header is present
WW-2605

Modified:
    
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
    
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/DefaultHttpHeadersTest.java

Modified: 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java?rev=649820&r1=649819&r2=649820&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
 (original)
+++ 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
 Sat Apr 19 07:15:51 2008
@@ -24,6 +24,7 @@
 import javax.servlet.http.HttpServletResponse;
 import static javax.servlet.http.HttpServletResponse.SC_NOT_MODIFIED;
 import static javax.servlet.http.HttpServletResponse.SC_OK;
+import static javax.servlet.http.HttpServletResponse.SC_CREATED;
 import java.util.Date;
 
 /**
@@ -113,8 +114,10 @@
                 url += "/"+locationId;
             }
             response.setHeader("Location", url);
+            status = SC_CREATED;
         } else if (location != null) {
             response.setHeader("Location", location);
+            status = SC_CREATED;
         }
 
         if (status == SC_OK && !disableCaching) {

Modified: 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/DefaultHttpHeadersTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/DefaultHttpHeadersTest.java?rev=649820&r1=649819&r2=649820&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/DefaultHttpHeadersTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/DefaultHttpHeadersTest.java
 Sat Apr 19 07:15:51 2008
@@ -54,7 +54,7 @@
 
         headers.apply(mockRequest, mockResponse, new Object());
 
-        assertEquals(SC_OK, mockResponse.getStatus());
+        assertEquals(SC_CREATED, mockResponse.getStatus());
         assertEquals("http://localhost:80/foo/bar/44.xhtml";, 
mockResponse.getHeader("Location"));
         assertEquals("asdf", mockResponse.getHeader("ETag"));
         assertEquals(now.getTime(), mockResponse.getHeader("Last-Modified"));
@@ -68,7 +68,7 @@
 
         headers.apply(mockRequest, mockResponse, new Object());
         assertEquals("http://localhost:80/foo/bar/44";, 
mockResponse.getHeader("Location"));
-
+        assertEquals(SC_CREATED, mockResponse.getStatus());
     }
 
     public void testApplyFullLocation() {
@@ -78,6 +78,7 @@
 
         headers.apply(mockRequest, mockResponse, new Object());
         assertEquals("http://localhost/bar/44";, 
mockResponse.getHeader("Location"));
+        assertEquals(SC_CREATED, mockResponse.getStatus());
 
     }
 


Reply via email to