11package io .github .iamazy .elasticsearch .dsl .plugin ;
22
33import com .carrotsearch .hppc .cursors .ObjectObjectCursor ;
4+ import com .google .common .util .concurrent .ThreadFactoryBuilder ;
45import io .github .iamazy .elasticsearch .dsl .sql .exception .ElasticSql2DslException ;
56import io .github .iamazy .elasticsearch .dsl .sql .model .ElasticSqlParseResult ;
67import io .github .iamazy .elasticsearch .dsl .sql .parser .ElasticSql2DslParser ;
1314import org .elasticsearch .rest .*;
1415
1516import java .io .IOException ;
17+ import java .util .concurrent .*;
1618
1719
1820/**
@@ -30,14 +32,13 @@ public class RestSqlAction extends BaseRestHandler {
3032 restController .registerHandler (RestRequest .Method .GET , "/_isql" , this );
3133 }
3234
33-
3435 @ Override
3536 public String getName () {
3637 return "isql" ;
3738 }
3839
3940 @ Override
40- protected RestChannelConsumer prepareRequest (RestRequest restRequest , NodeClient nodeClient ) throws IOException {
41+ protected RestChannelConsumer prepareRequest (RestRequest restRequest , NodeClient nodeClient ) {
4142 try (XContentParser parser = restRequest .contentOrSourceParamParser ()) {
4243 parser .mapStrings ().forEach ((k , v ) -> restRequest .params ().putIfAbsent (k , v ));
4344 } catch (IOException e ) {
@@ -54,9 +55,6 @@ protected RestChannelConsumer prepareRequest(RestRequest restRequest, NodeClient
5455 if (restRequest .path ().endsWith ("/_explain" )) {
5556 return channel -> channel .sendResponse (new BytesRestResponse (RestStatus .OK , builder .value (parseResult .toRequest ().source ())));
5657 }
57- else if (restRequest .path ().endsWith ("/_export" )){
58- return null ;
59- }
6058 else {
6159 if (parseResult .toFieldMapping () != null ) {
6260 return channel -> channel .sendResponse (new BytesRestResponse (RestStatus .OK , builder .value (nodeClient .admin ().indices ().getFieldMappings (parseResult .toFieldMapping ()).actionGet ())));
@@ -70,8 +68,10 @@ else if(restRequest.path().endsWith("/_export")){
7068 return channel -> channel .sendResponse (new BytesRestResponse (RestStatus .OK , builder .value (nodeClient .search (parseResult .toRequest ()).actionGet ())));
7169 }
7270 }
73- } catch (ElasticSql2DslException e ) {
71+ } catch (Exception e ) {
7472 return channel -> channel .sendResponse (new BytesRestResponse (RestStatus .INTERNAL_SERVER_ERROR , XContentType .JSON .mediaType (), "{\" error\" :\" " + e .getMessage () + "\" }" ));
7573 }
7674 }
75+
76+
7777}
0 commit comments