Make RestController pluggable (#98187)

This commit changes the ActionModules to allow  the RestController to be
provided by an internal plugin.

It renames  `RestInterceptorActionPlugin` to `RestServerActionPlugin`
and adds a new `getRestController` method to it.

There may be multiple RestServerActionPlugins installed on a node, but
only 1 may provide a Rest Wrapper (getRestHandlerInterceptor) and only 1
may provide a RestController (getRestController).
This commit is contained in:
Tim Vernum 2023-08-08 15:29:24 +10:00 committed by GitHub
parent 2aca985e29
commit 3093c40b8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 341 additions and 42 deletions

View file

@ -295,7 +295,7 @@ module org.elasticsearch.server {
exports org.elasticsearch.persistent;
exports org.elasticsearch.persistent.decider;
exports org.elasticsearch.plugins;
exports org.elasticsearch.plugins.interceptor to org.elasticsearch.security;
exports org.elasticsearch.plugins.interceptor to org.elasticsearch.security, org.elasticsearch.serverless.rest;
exports org.elasticsearch.plugins.spi;
exports org.elasticsearch.repositories;
exports org.elasticsearch.repositories.blobstore;