public static HttpEntity toEntity(Gson gson, ElasticsearchRequest request) { final List<JsonObject> bodyParts = request.getBodyParts(); if ( bodyParts.isEmpty() ) { return null; } return new GsonHttpEntity( gson, bodyParts ); }
public static HttpEntity toEntity(Gson gson, ElasticsearchRequest request) { final List<JsonObject> bodyParts = request.getBodyParts(); if ( bodyParts.isEmpty() ) { return null; } return new GsonHttpEntity( gson, bodyParts ); }
@Override public JsonObject getBulkableActionBody() { List<JsonObject> bodyParts = request.getBodyParts(); if ( !bodyParts.isEmpty() ) { if ( bodyParts.size() > 1 ) { throw new AssertionFailure( "Found a bulkable action with multiple body parts: " + bodyParts ); } return bodyParts.get( 0 ); } else { return null; } }
@Override public JsonObject getBulkableActionBody() { List<JsonObject> bodyParts = request.getBodyParts(); if ( !bodyParts.isEmpty() ) { if ( bodyParts.size() > 1 ) { throw new AssertionFailure( "Found a bulkable action with multiple body parts: " + bodyParts ); } return bodyParts.get( 0 ); } else { return null; } }
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; } }
@Override protected CompletableFuture<?> beforeExecute(ElasticsearchWorkExecutionContext executionContext, ElasticsearchRequest request) { QUERY_LOG.executingElasticsearchQuery( request.getPath(), request.getParameters(), executionContext.getGsonProvider().getLogHelper().toString( request.getBodyParts() ) ); return super.beforeExecute( executionContext, request ); }
@Override protected CompletableFuture<?> beforeExecute(ElasticsearchWorkExecutionContext executionContext, ElasticsearchRequest request) { QUERY_LOG.executingElasticsearchQuery( request.getPath(), request.getParameters(), executionContext.getGsonProvider().getLogHelper().toString( request.getBodyParts() ) ); return super.beforeExecute( executionContext, request ); }
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 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 ) ); }