JUNEAU-171 BasicRest class doesn't work correctly with Spring Security.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpMethodName.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpMethodName.java
index 35d96e2..5e3dfd9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpMethodName.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpMethodName.java
@@ -53,4 +53,7 @@
/** A non-standard value. */
public static final String OTHER = "OTHER";
+
+ /** Represents any HTTP method. */
+ public static final String ANY = "*";
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
index a9e7d2b..842cfb3 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRest.java
@@ -68,6 +68,21 @@
return req.getSwagger();
}
+ /**
+ * [* /error] - Error occurred.
+ *
+ * <p>
+ * Servlet chains will often automatically redirect to <js>"/error"</js> when any sort of error condition occurs
+ * (such as failed authentication) and will set appropriate response parameters (such as an <c>WWW-Authenticate</c>
+ * response header).
+ *
+ * <p>
+ * These responses should be left as-is without any additional processing.
+ */
+ @Override /* BasicRestConfig */
+ public void error() {}
+
+
//-----------------------------------------------------------------------------------------------------------------
// Context methods.
//-----------------------------------------------------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
index a93e52c..fa613ee 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestConfig.java
@@ -167,4 +167,21 @@
aside="NONE"
)
public Swagger getOptions(RestRequest req);
+
+ /**
+ * [* /error] - Error occurred.
+ *
+ * <p>
+ * Servlet chains will often automatically redirect to <js>"/error"</js> when any sort of error condition occurs
+ * (such as failed authentication) and will set appropriate response parameters (such as an <c>WWW-Authenticate</c>
+ * response header).
+ *
+ * <p>
+ * These responses should be left as-is without any additional processing.
+ */
+ @RestMethod(name=ANY, path="/error",
+ summary="Error occurred",
+ description="An error occurred during handling of the request."
+ )
+ public void error();
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
index 4b3011f..ef90c95 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestServlet.java
@@ -182,4 +182,18 @@
// Localized Swagger for this resource is available through the RestRequest object.
return req.getSwagger();
}
+
+ /**
+ * [* /error] - Error occurred.
+ *
+ * <p>
+ * Servlet chains will often automatically redirect to <js>"/error"</js> when any sort of error condition occurs
+ * (such as failed authentication) and will set appropriate response parameters (such as an <c>WWW-Authenticate</c>
+ * response header).
+ *
+ * <p>
+ * These responses should be left as-is without any additional processing.
+ */
+ @Override /* BasicRestConfig */
+ public void error() {}
}