private static String formatRequest(ElasticsearchRequest request) { //Wild guess for some tuning. The only certainty is that the default (16) is too small. StringBuilder sb = new StringBuilder( 180 ); sb.append( request.getMethod() ) .append( " " ) .append( request.getPath() ) .append( " with parameters " ) .append( request.getParameters() ); return sb.toString(); }
private static String formatRequest(ElasticsearchRequest request) { //Wild guess for some tuning. The only certainty is that the default (16) is too small. StringBuilder sb = new StringBuilder( 180 ); sb.append( request.getMethod() ) .append( " " ) .append( request.getPath() ) .append( " with parameters " ) .append( request.getParameters() ); return sb.toString(); }
@Override public boolean matches(Object argument) { if ( !( argument instanceof ElasticsearchRequest ) ) { return false; } ElasticsearchRequest request = (ElasticsearchRequest) argument; return Objects.equals( method, request.getMethod() ) && pattern.matcher( request.getPath() ).matches(); }
CompletableFuture<Response> completableFuture = new CompletableFuture<>(); restClient.performRequestAsync( request.getMethod(), request.getPath(), request.getParameters(),
CompletableFuture<Response> completableFuture = new CompletableFuture<>(); restClient.performRequestAsync( request.getMethod(), request.getPath(), request.getParameters(),
public ElasticsearchResponse generateResponse(ElasticsearchRequest request) { String method = request.getMethod(); String path = request.getPath(); if ( "GET".equals( method ) && ( StringHelper.isEmpty( path ) || "/".equals( path ) ) ) { return getResponse; } else if ( "POST".equals( method ) && path.endsWith( "/_bulk" ) ) { JsonBuilder.Array builder = JsonBuilder.array(); // In our case we only bulk requests without a body int itemCount = request.getBodyParts().size(); for ( int i = 0 ; i < itemCount ; ++i ) { builder.add( JsonBuilder.object() .add( "foo", JsonBuilder.object() .addProperty( "status", 200 ) ) ); } JsonObject responseJson = JsonBuilder.object() .add( "items", builder ) .build(); return new ElasticsearchResponse( 200, "OK", responseJson ); } else { return okResponse; } }
private void log(ElasticsearchRequest request, long start, ElasticsearchResponse response) { long executionTimeNs = System.nanoTime() - start; long executionTimeMs = TimeUnit.NANOSECONDS.toMillis( executionTimeNs ); if ( requestLog.isTraceEnabled() ) { JsonLogHelper logHelper = gsonProvider.getLogHelper(); requestLog.executedRequest( request.getMethod(), request.getPath(), request.getParameters(), executionTimeMs, response.getStatusCode(), response.getStatusMessage(), logHelper.toString( request.getBodyParts() ), logHelper.toString( response.getBody() ) ); } else { requestLog.executedRequest( request.getMethod(), request.getPath(), request.getParameters(), executionTimeMs, response.getStatusCode(), response.getStatusMessage() ); } }
private void log(ElasticsearchRequest request, long start, ElasticsearchResponse response) { long executionTimeNs = System.nanoTime() - start; long executionTimeMs = TimeUnit.NANOSECONDS.toMillis( executionTimeNs ); if ( requestLog.isTraceEnabled() ) { JsonLogHelper logHelper = gsonProvider.getLogHelper(); requestLog.executedRequest( request.getMethod(), request.getPath(), request.getParameters(), executionTimeMs, response.getStatusCode(), response.getStatusMessage(), logHelper.toString( request.getBodyParts() ), logHelper.toString( response.getBody() ) ); } else { requestLog.executedRequest( request.getMethod(), request.getPath(), request.getParameters(), executionTimeMs, response.getStatusCode(), response.getStatusMessage() ); } }
@Test @TestForIssue( jiraKey = "HSEARCH-2883" ) public void multiPathRequest() { final ElasticsearchRequest request = ElasticsearchRequest.delete() .pathComponent( Paths._BULK ) .pathComponent( Paths._SEARCH ) .build(); assertEquals( "DELETE", request.getMethod() ); assertEquals( 0, request.getParameters().size() ); //See also HSEARCH-2883: it is important to check that we don't add an additional '/' at the end of the generated path. assertEquals( "/" + Paths._BULK.original + "/" + Paths._SEARCH.original, request.getPath() ); }
@Test public void basicRequest() { final JsonObject someJsonObject = JsonBuilder.object() .addProperty( "something", "encoded here" ) .build(); final ElasticsearchRequest request = ElasticsearchRequest.post() .pathComponent( Paths._BULK ) .param( "refresh", false ) .param( "quantity", 10 ) .body( someJsonObject ) .build(); assertEquals( "POST", request.getMethod() ); assertEquals( 2, request.getParameters().size() ); assertEquals( "false", request.getParameters().get( "refresh" ) ); assertEquals( "10", request.getParameters().get( "quantity" ) ); assertEquals( "/" + Paths._BULK.original, request.getPath() ); assertEquals( 1, request.getBodyParts().size() ); assertEquals( someJsonObject, request.getBodyParts().get( 0 ) ); }