public static void asyncHttpPost(String url, List<String> headers, Map<String, String> paramValues, AsyncCompletionHandler handler) throws Exception { AsyncHttpClient.BoundRequestBuilder builder = asyncHttpClient.preparePost(url); if (!CollectionUtils.isEmpty(headers)) { for (String header : headers) { builder.setHeader(header.split("=")[0], header.split("=")[1]); } } if (!MapUtils.isEmpty(paramValues)) { FluentStringsMap params = new FluentStringsMap(); for (Map.Entry<String, String> entry : paramValues.entrySet()) { params.put(entry.getKey(), Collections.singletonList(entry.getValue())); } builder.setParameters(params); } builder.setHeader("Accept-Charset", "UTF-8"); if (handler != null) { builder.execute(handler); } else { builder.execute(); } }
@Override protected AsyncHttpClient.BoundRequestBuilder configureAHC(Request request) { FluentStringsMap m = DefaultSocket.decodeQueryString(request); m.put("X-Atmosphere-Transport", Arrays.asList(new String[]{"polling"})); m.remove("X-atmo-protocol"); return options.runtime().preparePost(request.uri()) .setHeaders(request.headers()) .setQueryParams(m) .setMethod(Request.METHOD.POST.name()); } }
@Override protected AsyncHttpClient.BoundRequestBuilder configureAHC(Request request) { FluentStringsMap m = DefaultSocket.decodeQueryString(request); m.put("X-Atmosphere-Transport", Arrays.asList(new String[]{"polling"})); m.remove("X-atmo-protocol"); return options.runtime().preparePost(request.uri()) .setHeaders(request.headers()) .setQueryParams(m) .setMethod(Request.METHOD.POST.name()); } }