mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-21 12:27:37 +00:00
revert change on listing plugins on /_plugin
we should provide it as part of nodes info relates to #2664
This commit is contained in:
parent
a7da27c714
commit
a1b2434339
@ -21,15 +21,12 @@ package org.elasticsearch.http;
|
|||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import org.elasticsearch.ElasticSearchException;
|
import org.elasticsearch.ElasticSearchException;
|
||||||
import org.elasticsearch.common.Strings;
|
|
||||||
import org.elasticsearch.common.component.AbstractLifecycleComponent;
|
import org.elasticsearch.common.component.AbstractLifecycleComponent;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.io.Streams;
|
import org.elasticsearch.common.io.Streams;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.node.service.NodeService;
|
import org.elasticsearch.node.service.NodeService;
|
||||||
import org.elasticsearch.plugins.PluginsHelper;
|
|
||||||
import org.elasticsearch.rest.*;
|
import org.elasticsearch.rest.*;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -37,7 +34,6 @@ import java.io.IOException;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
|
|
||||||
import static org.elasticsearch.rest.RestStatus.*;
|
import static org.elasticsearch.rest.RestStatus.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -148,39 +144,17 @@ public class HttpServer extends AbstractLifecycleComponent<HttpServer> {
|
|||||||
channel.sendResponse(new StringRestResponse(FORBIDDEN));
|
channel.sendResponse(new StringRestResponse(FORBIDDEN));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// TODO for a "/_plugin" endpoint, we should have a page that lists all the plugins?
|
||||||
|
|
||||||
String path = request.rawPath().substring("/_plugin/".length());
|
String path = request.rawPath().substring("/_plugin/".length());
|
||||||
int i1 = path.indexOf('/');
|
int i1 = path.indexOf('/');
|
||||||
String pluginName;
|
String pluginName;
|
||||||
String sitePath;
|
String sitePath;
|
||||||
if (i1 == -1) {
|
if (i1 == -1) {
|
||||||
// If user tries to reach "/_plugin/" endpoint, we display a page that lists all the plugins #2664
|
pluginName = path;
|
||||||
if (!Strings.hasText(path)) {
|
sitePath = null;
|
||||||
try {
|
|
||||||
XContentBuilder json = jsonBuilder();
|
|
||||||
if (request.hasParam("pretty")) {
|
|
||||||
json.prettyPrint();
|
|
||||||
}
|
|
||||||
json.startObject().startArray("sites");
|
|
||||||
|
|
||||||
for(String plugin : PluginsHelper.sitePlugins(environment)) {
|
|
||||||
json.startObject()
|
|
||||||
.field("name", plugin)
|
|
||||||
.field("url", "/_plugin/" + plugin +"/")
|
|
||||||
.endObject();
|
|
||||||
}
|
|
||||||
json.endArray().endObject();
|
|
||||||
channel.sendResponse(new BytesRestResponse(json.bytes().toBytes(),
|
|
||||||
guessMimeType(guessMimeType("index.json"))));
|
|
||||||
} catch (IOException e) {
|
|
||||||
channel.sendResponse(new StringRestResponse(INTERNAL_SERVER_ERROR));
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If a trailing / is missing, we redirect to the right page #2654
|
// If a trailing / is missing, we redirect to the right page #2654
|
||||||
channel.sendResponse(new HttpRedirectRestResponse(request.rawPath()+"/"));
|
channel.sendResponse(new HttpRedirectRestResponse(request.rawPath() + "/"));
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
pluginName = path.substring(0, i1);
|
pluginName = path.substring(0, i1);
|
||||||
@ -217,6 +191,7 @@ public class HttpServer extends AbstractLifecycleComponent<HttpServer> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// TODO: Don't respond with a mime type that violates the request's Accept header
|
// TODO: Don't respond with a mime type that violates the request's Accept header
|
||||||
private String guessMimeType(String path) {
|
private String guessMimeType(String path) {
|
||||||
int lastDot = path.lastIndexOf('.');
|
int lastDot = path.lastIndexOf('.');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user