@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { if (request.hasContentOrSourceParam()) { deprecationLogger.deprecated("Specifying a request body is deprecated -- the" + " [fields] request parameter should be used instead."); if (request.hasParam("fields")) { throw new IllegalArgumentException("can't specify a request body and [fields]" + " request parameter, either specify a request body or the" + " [fields] request parameter"); } } final String[] indices = Strings.splitStringByCommaToArray(request.param("index")); final FieldCapabilitiesRequest fieldRequest; if (request.hasContentOrSourceParam()) { try (XContentParser parser = request.contentOrSourceParamParser()) { fieldRequest = FieldCapabilitiesRequest.parseFields(parser); } } else { fieldRequest = new FieldCapabilitiesRequest(); fieldRequest.fields(Strings.splitStringByCommaToArray(request.param("fields"))); } fieldRequest.indices(indices); fieldRequest.indicesOptions( IndicesOptions.fromRequest(request, fieldRequest.indicesOptions()) ); return channel -> client.fieldCaps(fieldRequest, new RestToXContentListener<>(channel)); } }
IndicesOptions.fromRequest(request, fieldRequest.indicesOptions()) ); return channel -> client.fieldCaps(fieldRequest, new RestBuilderListener<FieldCapabilitiesResponse>(channel) { @Override
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { if (request.hasContentOrSourceParam()) { deprecationLogger.deprecated("Specifying a request body is deprecated -- the" + " [fields] request parameter should be used instead."); if (request.hasParam("fields")) { throw new IllegalArgumentException("can't specify a request body and [fields]" + " request parameter, either specify a request body or the" + " [fields] request parameter"); } } final String[] indices = Strings.splitStringByCommaToArray(request.param("index")); final FieldCapabilitiesRequest fieldRequest; if (request.hasContentOrSourceParam()) { try (XContentParser parser = request.contentOrSourceParamParser()) { fieldRequest = FieldCapabilitiesRequest.parseFields(parser); } } else { fieldRequest = new FieldCapabilitiesRequest(); fieldRequest.fields(Strings.splitStringByCommaToArray(request.param("fields"))); } fieldRequest.indices(indices); fieldRequest.indicesOptions( IndicesOptions.fromRequest(request, fieldRequest.indicesOptions()) ); return channel -> client.fieldCaps(fieldRequest, new RestToXContentListener<>(channel)); } }
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { if (request.hasContentOrSourceParam()) { deprecationLogger.deprecated("Specifying a request body is deprecated -- the" + " [fields] request parameter should be used instead."); if (request.hasParam("fields")) { throw new IllegalArgumentException("can't specify a request body and [fields]" + " request parameter, either specify a request body or the" + " [fields] request parameter"); } } final String[] indices = Strings.splitStringByCommaToArray(request.param("index")); final FieldCapabilitiesRequest fieldRequest; if (request.hasContentOrSourceParam()) { try (XContentParser parser = request.contentOrSourceParamParser()) { fieldRequest = FieldCapabilitiesRequest.parseFields(parser); } } else { fieldRequest = new FieldCapabilitiesRequest(); fieldRequest.fields(Strings.splitStringByCommaToArray(request.param("fields"))); } fieldRequest.indices(indices); fieldRequest.indicesOptions( IndicesOptions.fromRequest(request, fieldRequest.indicesOptions()) ); return channel -> client.fieldCaps(fieldRequest, new RestToXContentListener<>(channel)); } }