aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java
new file mode 100644
index 00000000000..eea69cd7f74
--- /dev/null
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/RequestException.java
@@ -0,0 +1,39 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.server.jetty;
+
+/**
+ * This exception may be thrown from a request handler to fail a request with a given response code and message.
+ * It is given some special treatment in {@link ServletResponseController}.
+ *
+ * @author bakksjo
+ */
+class RequestException extends RuntimeException {
+
+ private final int responseStatus;
+
+ /**
+ * @param responseStatus the response code to use for the http response
+ * @param message exception message
+ * @param cause chained throwable
+ */
+ public RequestException(final int responseStatus, final String message, final Throwable cause) {
+ super(message, cause);
+ this.responseStatus = responseStatus;
+ }
+
+ /**
+ * @param responseStatus the response code to use for the http response
+ * @param message exception message
+ */
+ public RequestException(final int responseStatus, final String message) {
+ super(message);
+ this.responseStatus = responseStatus;
+ }
+
+ /**
+ * Returns the response code to use for the http response.
+ */
+ public int getResponseStatus() {
+ return responseStatus;
+ }
+}