Improve `getRestHandlerWrapper` JavaDocs (#34376)
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.
This commit is contained in:
parent
4b7257d971
commit
34b935ae57
|
@ -103,6 +103,22 @@ public interface ActionPlugin {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a function used to wrap each rest request before handling the request.
|
* 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.
|
* Note: Only one installed plugin may implement a rest wrapper.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue