You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by th...@apache.org on 2021/12/02 01:23:22 UTC
[tapestry-5] 02/02: TAP5-2696: adding some methods to HttpStatus
This is an automated email from the ASF dual-hosted git repository.
thiagohp pushed a commit to branch rest
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
commit 9b8e09893d5a27843064a1239272589f229ed3cb
Author: Thiago H. de Paula Figueiredo <th...@arsmachina.com.br>
AuthorDate: Wed Dec 1 22:23:10 2021 -0300
TAP5-2696: adding some methods to HttpStatus
---
.../org/apache/tapestry5/services/HttpStatus.java | 40 ++++++++++++++++++++++
.../apache/tapestry5/services/HttpStatusTest.java | 28 +++++++++++++++
2 files changed, 68 insertions(+)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpStatus.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpStatus.java
index 907f1c3..1d8210b 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpStatus.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/HttpStatus.java
@@ -80,6 +80,38 @@ public final class HttpStatus
}
/**
+ * Creates an instance with status code <code>404 Not Found</code>.
+ */
+ public static HttpStatus notFound()
+ {
+ return new HttpStatus(HttpServletResponse.SC_NOT_FOUND);
+ }
+
+ /**
+ * Creates an instance with status code <code>403 Forbidden</code>.
+ */
+ public static HttpStatus forbidden()
+ {
+ return new HttpStatus(HttpServletResponse.SC_FORBIDDEN);
+ }
+
+ /**
+ * Creates an instance with status code <code>400 Bad Request</code>.
+ */
+ public static HttpStatus badRequest()
+ {
+ return new HttpStatus(HttpServletResponse.SC_BAD_REQUEST);
+ }
+
+ /**
+ * Creates an instance with status code <code>401 Unauthorized</code>.
+ */
+ public static HttpStatus unauthorized()
+ {
+ return new HttpStatus(HttpServletResponse.SC_UNAUTHORIZED);
+ }
+
+ /**
* Creates an instance with status code <code>303 See Other</code>.
* @param location the value of the <code>Location</code> header.
*/
@@ -184,6 +216,14 @@ public final class HttpStatus
}
/**
+ * Sets the <code>Content-Location</code> HTTP header.
+ */
+ public HttpStatus withContentLocation(Link link)
+ {
+ return withHttpHeader(CONTENT_LOCATION_HTTP_HEADER, link.toRedirectURI());
+ }
+
+ /**
* Sets an HTTP header. If an existing value for this header already exists,
* it gets overwritten. If you need to set multiple headers or add them without
* overwriting existing ones, you need to implement {@link StreamResponse} instead.
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/services/HttpStatusTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/services/HttpStatusTest.java
index a09ea82..f759eae 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/services/HttpStatusTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/services/HttpStatusTest.java
@@ -64,8 +64,36 @@ public class HttpStatusTest
HttpStatus status = HttpStatus.accepted();
assertEquals(status.getStatusCode(), HttpServletResponse.SC_ACCEPTED);
}
+
+ @Test
+ public void notFound()
+ {
+ HttpStatus status = HttpStatus.notFound();
+ assertEquals(status.getStatusCode(), HttpServletResponse.SC_NOT_FOUND);
+ }
+
+ @Test
+ public void forbidden()
+ {
+ HttpStatus status = HttpStatus.forbidden();
+ assertEquals(status.getStatusCode(), HttpServletResponse.SC_FORBIDDEN);
+ }
@Test
+ public void unauthorized()
+ {
+ HttpStatus status = HttpStatus.unauthorized();
+ assertEquals(status.getStatusCode(), HttpServletResponse.SC_UNAUTHORIZED);
+ }
+
+ @Test
+ public void badRequest()
+ {
+ HttpStatus status = HttpStatus.badRequest();
+ assertEquals(status.getStatusCode(), HttpServletResponse.SC_BAD_REQUEST);
+ }
+
+ @Test
public void seeOtherWithString()
{
HttpStatus status = HttpStatus.seeOther(TEST_URL);