AsyncHttpClient.BoundRequestBuilder getJsonUrlRequest() { AsyncHttpClient.BoundRequestBuilder requestBuilder = buildSimpleRequest(packId); for (Map.Entry<String, String> param : this.stringParams.entrySet()) { if (this.fileParams.isEmpty()) { requestBuilder.addFormParam(param.getKey(), param.getValue()); } else { requestBuilder.addQueryParam(param.getKey(), param.getValue()); } } for (Map.Entry<String, FilePart> param : this.fileParams.entrySet()) { requestBuilder.addBodyPart(param.getValue()); } return requestBuilder; }
@Override public DetailedResponse getDetailedResponse(final ResponseProgressListener listener) throws Exception { AsyncHttpClient.BoundRequestBuilder requestBuilder = buildDetailedRequest(packId); for (Map.Entry<String, String> param : this.stringParams.entrySet()) { if (this.fileParams.isEmpty()) { requestBuilder.addFormParam(param.getKey(), param.getValue()); } else { requestBuilder.addQueryParam(param.getKey(), param.getValue()); } } for (Map.Entry<String, FilePart> param : this.fileParams.entrySet()) { requestBuilder.addBodyPart(param.getValue()); } return executeDetailedRequest(requestBuilder.build(), listener); }
@Test(groups = { "standalone", "default_provider" }) public void testParameters() throws IOException, ExecutionException, TimeoutException, InterruptedException { String value = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKQLMNOPQRSTUVWXYZ1234567809`~!@#$%^&*()_+-=,.<>/?;:'\"[]{}\\| "; try (AsyncHttpClient client = getAsyncHttpClient(null)) { Future<Response> f = client.preparePost("http://127.0.0.1:" + port1).addFormParam("test", value).execute(); Response resp = f.get(10, TimeUnit.SECONDS); assertNotNull(resp); assertEquals(resp.getStatusCode(), HttpServletResponse.SC_OK); assertEquals(resp.getHeader("X-Param"), value.trim()); } }
.addFormParam("param_1", "value_1");
final AtomicReference<Throwable> throwable = new AtomicReference<>(); try (AsyncHttpClient client = getAsyncHttpClient(null)){ Future<String> f = client.preparePost(getTargetUrl()).addFormParam("param_1", "value_1").execute(new AsyncHandlerAdapter() { private StringBuilder builder = new StringBuilder();
.addFormParam("param_1", "value_1")// .execute(new AsyncHandlerAdapter() {
.addFormParam("param_1", "value_1")// .execute(new AsyncHandlerAdapter() { private StringBuilder builder = new StringBuilder();
@Test(groups = { "standalone", "default_provider", "async" }) public void asyncDoPostDefaultContentType() throws Throwable { try (AsyncHttpClient client = getAsyncHttpClient(null)) { final CountDownLatch l = new CountDownLatch(1); client.preparePost(getTargetUrl()).addFormParam("foo", "bar").execute(new AsyncCompletionHandlerAdapter() { @Override public Response onCompleted(Response response) throws Exception { try { assertEquals(response.getStatusCode(), 200); FluentCaseInsensitiveStringsMap h = response.getHeaders(); assertEquals(h.getJoinedValue("X-Content-Type", ", "), "application/x-www-form-urlencoded"); } finally { l.countDown(); } return response; } }).get(); if (!l.await(TIMEOUT, TimeUnit.SECONDS)) { Assert.fail("Timeout out"); } } }
@Override public boolean login(String username, String password) throws IOException { Request request = getClient().preparePost(getBaseUrl() + LOGIN_PATH) .addFormParam(LOGIN_PARAM_USERNAME, username) .addFormParam(LOGIN_PARAM_PASSWORD, password) .addFormParam(LOGIN_PARAM_VALIDATE, LOGIN_VALUE_VALIDATE) .addFormParam(LOGIN_PARAM_CHARSET, LOGIN_VALUE_CHARSET).build(); try { ListenableFuture<Response> fResponse = getClient().executeRequest(request); Response response = getRequestTimeout() >= 0L ? fResponse.get(getRequestTimeout(), TimeUnit.MILLISECONDS) : fResponse.get(); if (response.getStatusCode() == 200) { this.setCookies(response.getCookies()); return true; } else if (response.getStatusCode() == 405) { // fallback to legacy in case of 405 response return loginLegacy(username, password); } } catch (Exception e) { throw new IOException("Failed to login with provided credentials"); } return false; }
import com.ning.http.client.AsyncHttpClient; import com.ning.http.client.Response; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class Main { public static void main(String[] args) throws ExecutionException, InterruptedException, IOException { AsyncHttpClient asyncHttpClient = new AsyncHttpClient(); AsyncHttpClient.BoundRequestBuilder r = asyncHttpClient.preparePost("https://httpbin.org/post"); r.addFormParam("password", "<value>"); r.addFormParam("client_id", "<id>"); r.addFormParam("email", "<email>"); r.addFormParam("redirect_uri", "https://localhost"); Future<Response> f = r.execute(); Response res = f.get(); System.out.println(res.getStatusCode() + ": " + res.getStatusText()); System.out.println(res.getResponseBody()); } }
private boolean loginLegacy(String username, String password) throws IOException { Request request = getClient().preparePost(getBaseUrl() + LEGACY_PATH) .addFormParam(LEGACY_PARAM_USERID, username) .addFormParam(LEGACY_PARAM_PASSWORD, password) .addFormParam(LEGACY_PARAM_WORKSPACE, LEGACY_VALUE_WORKSPACE) .addFormParam(LEGACY_PARAM_TOKEN, LEGACY_VALUE_TOKEN) .addFormParam(LOGIN_PARAM_CHARSET, LOGIN_VALUE_CHARSET).build(); try { ListenableFuture<Response> fResponse = getClient().executeRequest(request); Response response = getRequestTimeout() >= 0L ? fResponse.get(getRequestTimeout(), TimeUnit.MILLISECONDS) : fResponse.get(); if (response.getStatusCode() == 200) { this.setCookies(response.getCookies()); return true; } } catch (Exception e) { throw new IOException("Failed to login with provided credentials"); } return false; }
public WrappedRequestBuilder addFormParam(String key, String value) { _delegate.addFormParam(key, value); return this; }
public WrappedRequestBuilder addFormParam(String key, String value) { _delegate.addFormParam(key, value); return this; }