Skip to content
This repository was archived by the owner on Mar 4, 2019. It is now read-only.

Commit 5addd95

Browse files
author
Ernesto
committed
Merge pull request #35 from feaster83/master
Display original health page when authorized user
2 parents fdbcfee + b6d759e commit 5addd95

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

src/main/java/com/asquera/elasticsearch/plugins/http/HttpBasicServer.java

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
package com.asquera.elasticsearch.plugins.http;
22

3-
import org.elasticsearch.http.*;
3+
import com.asquera.elasticsearch.plugins.http.auth.Client;
4+
import com.asquera.elasticsearch.plugins.http.auth.InetAddressWhitelist;
5+
import com.asquera.elasticsearch.plugins.http.auth.ProxyChains;
6+
import com.asquera.elasticsearch.plugins.http.auth.XForwardedFor;
7+
import org.elasticsearch.common.Base64;
8+
import org.elasticsearch.common.inject.Inject;
9+
import org.elasticsearch.common.logging.Loggers;
410
import org.elasticsearch.common.settings.Settings;
511
import org.elasticsearch.env.Environment;
12+
import org.elasticsearch.http.HttpChannel;
13+
import org.elasticsearch.http.HttpRequest;
14+
import org.elasticsearch.http.HttpServer;
15+
import org.elasticsearch.http.HttpServerTransport;
616
import org.elasticsearch.node.service.NodeService;
17+
import org.elasticsearch.rest.BytesRestResponse;
718
import org.elasticsearch.rest.RestController;
8-
import org.elasticsearch.common.inject.Inject;
9-
import org.elasticsearch.common.Base64;
1019
import org.elasticsearch.rest.RestRequest;
11-
12-
import static org.elasticsearch.rest.RestStatus.*;
20+
import org.elasticsearch.rest.RestRequest.Method;
1321

1422
import java.io.IOException;
1523
import java.net.InetAddress;
1624
import java.net.InetSocketAddress;
1725

18-
import org.elasticsearch.common.logging.Loggers;
19-
import org.elasticsearch.rest.BytesRestResponse;
20-
import org.elasticsearch.rest.RestRequest.Method;
21-
22-
import com.asquera.elasticsearch.plugins.http.auth.Client;
23-
import com.asquera.elasticsearch.plugins.http.auth.InetAddressWhitelist;
24-
import com.asquera.elasticsearch.plugins.http.auth.ProxyChains;
25-
import com.asquera.elasticsearch.plugins.http.auth.XForwardedFor;
26+
import static org.elasticsearch.rest.RestStatus.OK;
27+
import static org.elasticsearch.rest.RestStatus.UNAUTHORIZED;
2628

2729
// # possible http config
2830
// http.basic.user: admin
@@ -71,18 +73,18 @@ public class HttpBasicServer extends HttpServer {
7173
@Override
7274
public void internalDispatchRequest(final HttpRequest request, final HttpChannel channel) {
7375
if (log) {
74-
logRequest(request);
76+
logRequest(request);
7577
}
76-
// allow health check even without authorization
77-
if (healthCheck(request)) {
78-
channel.sendResponse(new BytesRestResponse(OK, "{\"OK\":{}}"));
79-
} else if (authorized(request)) {
78+
79+
if (authorized(request)) {
8080
super.internalDispatchRequest(request, channel);
81+
} else if (healthCheck(request)) { // display custom health check page when unauthorized (do not display too much server info)
82+
channel.sendResponse(new BytesRestResponse(OK, "{\"OK\":{}}"));
8183
} else {
82-
logUnAuthorizedRequest(request);
83-
BytesRestResponse response = new BytesRestResponse(UNAUTHORIZED, "Authentication Required");
84-
response.addHeader("WWW-Authenticate", "Basic realm=\"Restricted\"");
85-
channel.sendResponse(response);
84+
logUnAuthorizedRequest(request);
85+
BytesRestResponse response = new BytesRestResponse(UNAUTHORIZED, "Authentication Required");
86+
response.addHeader("WWW-Authenticate", "Basic realm=\"Restricted\"");
87+
channel.sendResponse(response);
8688
}
8789
}
8890

0 commit comments

Comments
 (0)