Improve `getRestHandlerWrapper` JavaDocs
Questions on how to work with `ActionPlugin#getRestHandlerWrapper()`
come up in discuss forums all the time. This change adds an example
to the javadoc how this method should/could be used.
@@ -103,6 +103,22 @@ public interface ActionPlugin {
/**
* Returns a function used to wrap each rest request before handling the request.
+ * The returned {@link UnaryOperator} is called for every incoming rest request and receives
+ * the original rest handler as it's input. This allows adding arbitrary functionality around
+ * rest request handlers to do for instance logging or authentication.
+ * A simple example of how to only allow GET request is here:
+ * <pre>
+ * {@code
+ * UnaryOperator<RestHandler> getRestHandlerWrapper(ThreadContext threadContext) {
+ * return originalHandler -> (RestHandler) (request, channel, client) -> {
+ * if (request.method() != Method.GET) {
+ * throw new IllegalStateException("only GET requests are allowed");
+ * }
+ * originalHandler.handleRequest(request, channel, client);
+ * };
+ * }
+ * }
+ * </pre>
*
* Note: Only one installed plugin may implement a rest wrapper.
*/
