Skip to content

Commit 62d23fc

Browse files
committed
*: initial 2.4 porting
1 parent c6e8743 commit 62d23fc

File tree

2 files changed

+24
-22
lines changed

2 files changed

+24
-22
lines changed

build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ apply plugin: 'eclipse'
44

55
sourceCompatibility = 1.8
66
targetCompatibility = 1.8
7-
version = '2.3.5'
7+
version = '2.4.4'
88
def pluginDescription = 'Plugin to enable HTTP basic authentication and/or Ip based authentication'
99
def pluginClassname = 'com.asquera.elasticsearch.plugins.http.HttpBasicServerPlugin'
1010
def pluginName = 'elasticsearch-http-basic'
11-
def elasticVersion = '2.3.5'
11+
def elasticVersion = '2.4.4'
1212

1313
jar {
1414
jar.baseName = "elasticsearch-http-basic"
@@ -38,22 +38,22 @@ repositories {
3838
}
3939

4040
dependencies {
41-
41+
4242
// elastic search
43-
compile("org.elasticsearch:elasticsearch:2.3.5")
44-
43+
compile("org.elasticsearch:elasticsearch:$elasticVersion")
44+
4545
// httpclient
4646
compile("org.apache.httpcomponents:httpclient:4.5.2")
47-
47+
4848
// stuff
4949
compile("com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.3.4")
50-
50+
5151
//test
5252
testCompile group: 'junit', name: 'junit', version: '4.+'
5353
testCompile(group: 'org.elasticsearch', name: 'elasticsearch', version: '2.3.5', classifier: 'tests')
5454
testCompile(group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3')
5555
testCompile(group: 'org.apache.lucene', name: 'lucene-test-framework', version: '5.5.0')
56-
56+
5757
}
5858

5959
test {

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

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@
99
import org.elasticsearch.common.logging.Loggers;
1010
import org.elasticsearch.common.settings.Settings;
1111
import org.elasticsearch.env.Environment;
12-
import org.elasticsearch.http.HttpChannel;
13-
import org.elasticsearch.http.HttpRequest;
12+
import org.elasticsearch.rest.RestChannel;
13+
import org.elasticsearch.rest.RestRequest;
1414
import org.elasticsearch.http.HttpServer;
1515
import org.elasticsearch.http.HttpServerTransport;
1616
import org.elasticsearch.node.service.NodeService;
1717
import org.elasticsearch.rest.BytesRestResponse;
1818
import org.elasticsearch.rest.RestController;
1919
import org.elasticsearch.rest.RestRequest;
2020
import org.elasticsearch.rest.RestRequest.Method;
21+
import org.elasticsearch.indices.breaker.CircuitBreakerService;
2122

2223
import java.io.IOException;
2324
import java.net.InetAddress;
@@ -52,8 +53,9 @@ public class HttpBasicServer extends HttpServer {
5253

5354
@Inject public HttpBasicServer(Settings settings, Environment environment, HttpServerTransport transport,
5455
RestController restController,
55-
NodeService nodeService) {
56-
super(settings, environment, transport, restController, nodeService);
56+
NodeService nodeService,
57+
CircuitBreakerService circuitBrakerService) {
58+
super(settings, environment, transport, restController, nodeService, circuitBrakerService);
5759

5860
this.user = settings.get("http.basic.user", "admin");
5961
this.password = settings.get("http.basic.password", "admin_pw");
@@ -75,7 +77,7 @@ public class HttpBasicServer extends HttpServer {
7577
}
7678

7779
@Override
78-
public void internalDispatchRequest(final HttpRequest request, final HttpChannel channel) {
80+
public void internalDispatchRequest(final RestRequest request, final RestChannel channel) {
7981
if (log) {
8082
logRequest(request);
8183
}
@@ -101,7 +103,7 @@ private boolean isHealthCheckMethod(final RestRequest.Method method){
101103

102104
// @param an http Request
103105
// @returns True iff we check the root path and is a method allowed for healthCheck
104-
private boolean healthCheck(final HttpRequest request) {
106+
private boolean healthCheck(final RestRequest request) {
105107
return request.path().equals("/") && isHealthCheckMethod(request.method());
106108
}
107109

@@ -111,7 +113,7 @@ private boolean healthCheck(final HttpRequest request) {
111113
* @param request
112114
* @return true if the request is authorized
113115
*/
114-
private boolean authorized(final HttpRequest request) {
116+
private boolean authorized(final RestRequest request) {
115117
return allowOptionsForCORS(request) ||
116118
authBasic(request) || ipAuthorized(request);
117119
}
@@ -122,7 +124,7 @@ private boolean authorized(final HttpRequest request) {
122124
* @param request
123125
* @return true iff the client is authorized by ip
124126
*/
125-
private boolean ipAuthorized(final HttpRequest request) {
127+
private boolean ipAuthorized(final RestRequest request) {
126128
boolean ipAuthorized = false;
127129
String xForwardedFor = request.header(xForwardHeader);
128130
Client client = new Client(getAddress(request),
@@ -142,7 +144,7 @@ private boolean ipAuthorized(final HttpRequest request) {
142144
return ipAuthorized;
143145
}
144146

145-
public String getDecoded(HttpRequest request) {
147+
public String getDecoded(RestRequest request) {
146148
String authHeader = request.header("Authorization");
147149
if (authHeader == null)
148150
return "";
@@ -157,7 +159,7 @@ public String getDecoded(HttpRequest request) {
157159
}
158160
}
159161

160-
private boolean authBasic(final HttpRequest request) {
162+
private boolean authBasic(final RestRequest request) {
161163
String decoded = "";
162164
try {
163165
decoded = getDecoded(request);
@@ -181,7 +183,7 @@ private boolean authBasic(final HttpRequest request) {
181183
* @param request
182184
* @return the IP adress of the direct client
183185
*/
184-
private InetAddress getAddress(HttpRequest request) {
186+
private InetAddress getAddress(RestRequest request) {
185187
return ((InetSocketAddress) request.getRemoteAddress()).getAddress();
186188
}
187189

@@ -191,7 +193,7 @@ private InetAddress getAddress(HttpRequest request) {
191193
* specification mandates that browsers “preflight” the request, soliciting
192194
* supported methods from the server with an HTTP OPTIONS request
193195
*/
194-
private boolean allowOptionsForCORS(HttpRequest request) {
196+
private boolean allowOptionsForCORS(RestRequest request) {
195197
// in elasticsearch.yml set
196198
// http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, Authorization"
197199
if (request.method() == Method.OPTIONS) {
@@ -202,7 +204,7 @@ private boolean allowOptionsForCORS(HttpRequest request) {
202204
return false;
203205
}
204206

205-
public void logRequest(final HttpRequest request) {
207+
public void logRequest(final RestRequest request) {
206208
String addr = getAddress(request).getHostAddress();
207209
String t = "Authorization:{}, type: {}, Host:{}, Path:{}, {}:{}, Request-IP:{}, " +
208210
"Client-IP:{}, X-Client-IP{}";
@@ -218,7 +220,7 @@ public void logRequest(final HttpRequest request) {
218220
request.header("Client-IP"));
219221
}
220222

221-
public void logUnAuthorizedRequest(final HttpRequest request) {
223+
public void logUnAuthorizedRequest(final RestRequest request) {
222224
String addr = getAddress(request).getHostAddress();
223225
String t = "UNAUTHORIZED type:{}, address:{}, path:{}, request:{},"
224226
+ "content:{}, credentials:{}";

0 commit comments

Comments
 (0)