private int successCounter(HttpClientResponse resp) { return resp.statusCode() == 200 ? successCounter.incrementAndGet() : successCounter.get(); }
private int failureCounter(HttpClientResponse resp) { return resp.statusCode() == 503 ? failureCounter.incrementAndGet() : failureCounter.get(); }
private void log(HttpClientResponse response, int success, int failure) { System.out.println(String .format( "Response status code: [%s] , number of all responses [%s], number of correct responses [%s], number of dropped responses [%s]", response.statusCode(), allCounter.incrementAndGet(), success, failure)); }
@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); HttpClientRequest req = client.request(HttpMethod.GET, 8080, "localhost", "/"); req.toFlowable(). // Status code check and -> Flowable<Buffer> flatMap(resp -> { if (resp.statusCode() != 200) { throw new RuntimeException("Wrong status code " + resp.statusCode()); } return resp.toFlowable(); }). subscribe(data -> System.out.println("Server content " + data.toString("UTF-8"))); // End request req.end(); } }
@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); client.put(8080, "localhost", "/", resp -> { System.out.println("Got response " + resp.statusCode()); resp.handler(buf -> System.out.println(buf.toString("UTF-8"))); }).setChunked(true).putHeader("Content-Type", "text/plain").write("hello").end(); } }
@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); HttpClientRequest req = client.request(HttpMethod.GET, 8080, "localhost", "/"); req.toFlowable(). // Status code check and -> Flowable<Buffer> flatMap(resp -> { if (resp.statusCode() != 200) { throw new RuntimeException("Wrong status code " + resp.statusCode()); } return Flowable.just(Buffer.buffer()).mergeWith(resp.toFlowable()); }). // Reduce all buffers in a single buffer reduce(Buffer::appendBuffer). // Turn in to a string map(buffer -> buffer.toString("UTF-8")). // Get a single buffer subscribe(data -> System.out.println("Server content " + data)); // End request req.end(); } }
private void traceHttpResponse(HttpClientResponse response) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Got response from remote repository status [{}]", response.statusCode()); } } }
private void traceHttpResponse(HttpClientResponse response) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Got response from remote repository status [{}]", response.statusCode()); } } }
@Test @KnotxApplyConfiguration("io/knotx/server/test-server.json") public void whenRequestingWithInvalidQuery_expectBadRequest( VertxTestContext context, Vertx vertx) { HttpClient client = vertx.createHttpClient(); client.getNow(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html?q=~!@\\||$%^&*()_=-%22;;%27%22:%3C%3E/?]}{", resp -> { assertEquals(HttpResponseStatus.BAD_REQUEST.code(), resp.statusCode()); client.close(); context.completeNow(); }); }
private void testGetRequestOldClient(VertxTestContext context, Vertx vertx, String url, String expectedResult) { HttpClient client = vertx.createHttpClient(); client.getNow(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, url, resp -> resp.bodyHandler(body -> { assertEquals(HttpResponseStatus.OK.code(), resp.statusCode()); assertNotNull(resp.getHeader(EXPECTED_RESPONSE_HEADER)); assertEquals(EXPECTED_XSERVER_HEADER_VALUE, resp.getHeader(EXPECTED_RESPONSE_HEADER)); try { assertEquals(expectedResult, body.toString(), "Wrong engines processed request, expected " + expectedResult); } catch (Exception e) { context.failNow(e); } client.close(); context.completeNow(); })); }
private ClientResponse toResponse(Buffer buffer, final HttpClientResponse httpResponse, final RequestOptions httpRequestData) { final int statusCode = httpResponse.statusCode(); if (HttpStatusClass.SUCCESS.contains(statusCode)) { LOGGER.debug("Repository 2xx response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.REDIRECTION.contains(statusCode)) { // redirect LOGGER.info("Repository 3xx response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.CLIENT_ERROR.contains(statusCode)) { // errors LOGGER.warn("Repository client error 4xx. Request URL: {}, response: {}, Headers[{}]", getUrl(httpRequestData), statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.SERVER_ERROR.contains(statusCode)) { LOGGER.error("Repository server error 5xx. Request URL: {}, response: {}, Headers[{}]", getUrl(httpRequestData), statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else { LOGGER.warn("Other response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } return new ClientResponse() .setStatusCode(statusCode) .setHeaders(httpResponse.headers()) .setBody(buffer.getDelegate()); }
private ClientResponse toResponse(Buffer buffer, final HttpClientResponse httpResponse, final RequestOptions httpRequestData) { final int statusCode = httpResponse.statusCode(); if (HttpStatusClass.SUCCESS.contains(statusCode)) { LOGGER.debug("Repository 2xx response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.REDIRECTION.contains(statusCode)) { // redirect LOGGER.info("Repository 3xx response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.CLIENT_ERROR.contains(statusCode)) { // errors LOGGER.warn("Repository client error 4xx. Request URL: {}, response: {}, Headers[{}]", getUrl(httpRequestData), statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else if (HttpStatusClass.SERVER_ERROR.contains(statusCode)) { LOGGER.error("Repository server error 5xx. Request URL: {}, response: {}, Headers[{}]", getUrl(httpRequestData), statusCode, DataObjectsUtil.toString(httpResponse.headers())); } else { LOGGER.warn("Other response: {}, Headers[{}]", statusCode, DataObjectsUtil.toString(httpResponse.headers())); } return new ClientResponse() .setStatusCode(statusCode) .setHeaders(httpResponse.headers()) .setBody(buffer.getDelegate()); }