Example usage for org.apache.http.client.fluent Request bodyByteArray

List of usage examples for org.apache.http.client.fluent Request bodyByteArray

Introduction

In this page you can find the example usage for org.apache.http.client.fluent Request bodyByteArray.

Prototype

public Request bodyByteArray(final byte[] b) 

Source Link

Usage

From source file:net.opentsdb.search.ElasticSearch.java

public Deferred<SearchQuery> executeQuery(final SearchQuery query) {
    final Deferred<SearchQuery> result = new Deferred<SearchQuery>();

    final StringBuilder uri = new StringBuilder("http://");
    uri.append(hosts.get(0).toHostString());
    uri.append("/").append(index).append("/");
    switch (query.getType()) {
    case TSMETA:/*from w  w  w  .  j a v  a  2s  . c  om*/
    case TSMETA_SUMMARY:
    case TSUIDS:
        uri.append(tsmeta_type);
        break;
    case UIDMETA:
        uri.append(uidmeta_type);
        break;
    case ANNOTATION:
        uri.append(annotation_type);
        break;
    }
    uri.append("/_search");

    // setup the query body
    HashMap<String, Object> body = new HashMap<String, Object>(3);
    body.put("size", query.getLimit());
    body.put("from", query.getStartIndex());

    HashMap<String, Object> qs = new HashMap<String, Object>(1);
    body.put("query", qs);
    HashMap<String, String> query_string = new HashMap<String, String>(1);
    query_string.put("query", query.getQuery());
    qs.put("query_string", query_string);

    final Request request = Request.Post(uri.toString());
    request.bodyByteArray(JSON.serializeToBytes(body));

    final Async async = Async.newInstance().use(threadpool);
    async.execute(request, new SearchCB(query, result));
    return result;
}