private boolean isSuccessResponse(ClientResponse repoResponse) { return HttpResponseStatus.OK.code() == repoResponse.getStatusCode(); }
public static void toJson(ClientResponse obj, JsonObject json) { if (obj.getBody() != null) { json.put("body", obj.getBody().getBytes()); } if (obj.getJsonHeaders() != null) { json.put("jsonHeaders", obj.getJsonHeaders()); } json.put("statusCode", obj.getStatusCode()); } }
private KnotContext processAdapterResponse(KnotContext knotContext, List<FormEntity> forms, FormEntity form, AdapterResponse response) { final ClientResponse clientResponse = response.getResponse(); final String signal = response.getSignal(); if (HttpResponseStatus.OK.code() != clientResponse.getStatusCode()) { return errorKnotResponse(clientResponse, knotContext, form); } else { String redirectLocation = form.url(signal).orElse(FORM_NO_REDIRECT_SIGNAL); return shouldRedirect(redirectLocation) ? redirectKnotResponse(knotContext, form, clientResponse, redirectLocation) : routeToNextKnotResponse(clientResponse, knotContext, forms, form); } }
@Test public void handleRepositoryResponse_whenResponseIsSuccessAndShouldBeProcessed_expectContextContinuation() { when(clientResponse.getStatusCode()).thenReturn(200); when(repositoryEntry.isDoProcessing()).thenReturn(true); tested.handleRepositoryResponse(clientResponse, routingContext, repositoryEntry, knotContext); verify(knotContext, times(1)).setClientResponse(clientResponse); verify(routingContext, times(1)).put(KnotContext.KEY, knotContext); verify(routingContext, times(1)).next(); }
@Test public void handleRepositoryResponse_whenResponseIsSuccessAndShouldNotBeProcessed_expectResponse() { when(clientResponse.getStatusCode()).thenReturn(200); when(repositoryEntry.isDoProcessing()).thenReturn(false); when(clientResponse.getHeaders()).thenReturn(MultiMap.caseInsensitiveMultiMap()); when(clientResponse.getBody()).thenReturn(Buffer.buffer().getDelegate()); when(routingContext.response()).thenReturn(httpServerResponse); tested.handleRepositoryResponse(clientResponse, routingContext, repositoryEntry, knotContext); verify(routingContext, times(0)).next(); verify(httpServerResponse, times(1)).setStatusCode(200); verify(httpServerResponse, times(1)).end(any(Buffer.class)); }
@Test public void handleRepositoryResponse_whenResponseIsError_expectErrorResponse() { when(clientResponse.getStatusCode()).thenReturn(400); when(clientResponse.getHeaders()).thenReturn(MultiMap.caseInsensitiveMultiMap()); when(clientResponse.getBody()).thenReturn(Buffer.buffer().getDelegate()); when(routingContext.response()).thenReturn(httpServerResponse); tested.handleRepositoryResponse(clientResponse, routingContext, repositoryEntry, knotContext); verify(routingContext, times(0)).next(); verify(httpServerResponse, times(1)).setStatusCode(400); verify(httpServerResponse, times(1)).end(any(Buffer.class)); } }
private KnotContext errorKnotResponse(ClientResponse clientResponse, KnotContext knotContext, FormEntity form) { knotContext.getClientResponse() .setStatusCode(clientResponse.getStatusCode()) .setHeaders(getFilteredHeaders(clientResponse.getHeaders(), form.adapter().getAllowedResponseHeadersPatterns())) .setBody(Buffer.buffer()); knotContext.clearFragments(); return knotContext; }
private FormsAdapterResponse prepareResponse(ClientResponse response) { FormsAdapterResponse result = new FormsAdapterResponse(); if (response.getStatusCode() == HttpResponseStatus.OK.code()) { if (isJsonBody(response.getBody()) && response.getBody().toJsonObject() .containsKey("validationErrors")) { result.setSignal("error"); } else { result.setSignal("success"); } } result.setResponse(response); return result; }
@Test @KnotxApplyConfiguration("io/knotx/assembler/test.unwrap.io.knotx.FragmentAssembler.json") public void callAssemblerWithEmptySnippet_expectNoContentStatus( VertxTestContext context, Vertx vertx) { callAssemblerWithAssertions(context, vertx, Collections .singletonList(new ImmutableTriple<>(Collections.singletonList(RAW), null, StringUtils.SPACE)), knotContext -> Assertions.assertEquals(HttpResponseStatus.NO_CONTENT.code(), knotContext.getClientResponse().getStatusCode())); }
@Test @KnotxApplyConfiguration("io/knotx/assembler/test.unwrap.io.knotx.FragmentAssembler.json") public void callAssemblerWithNoSnippets_expectInternalServerError( VertxTestContext context, Vertx vertx) { callAssemblerWithAssertions(context, vertx, null, knotContext -> Assertions.assertEquals(HttpResponseStatus.INTERNAL_SERVER_ERROR.code(), knotContext.getClientResponse().getStatusCode() )); }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
private void sendResponse(final RoutingContext context, final ClientResponse clientResponse) { HttpServerResponse httpResponse = context.response(); writeHeaders(context.response(), clientResponse); httpResponse.setStatusCode(clientResponse.getStatusCode()); if (isOkClientResponse(clientResponse)) { httpResponse.end(Buffer.newInstance(clientResponse.getBody())); } else { httpResponse.end(); } }
@Test @KnotxApplyConfiguration("io/knotx/splitter/knotx-fragment-splitter-test.json") public void callSplitterWithEmptyBody_expectNotFoundResponse( VertxTestContext context, Vertx vertx) { callFragmentSplitterWithAssertions(context, vertx, "", knotContext -> { assertEquals(knotContext.getClientResponse().getStatusCode(), HttpResponseStatus.NOT_FOUND.code()); assertNull(knotContext.getFragments()); }); }
private void endResponse(ClientResponse repoResponse, RoutingContext context) { writeHeaders(context.response(), repoResponse.getHeaders()); context.response().setStatusCode(repoResponse.getStatusCode()); if (repoResponse.getBody() != null) { context.response().end(Buffer.newInstance(repoResponse.getBody())); } else { context.response().end(); } }
private void endResponse(ClientResponse repoResponse, RoutingContext context) { writeHeaders(context.response(), repoResponse.getHeaders()); context.response().setStatusCode(repoResponse.getStatusCode()); if (repoResponse.getBody() != null) { context.response().end(Buffer.newInstance(repoResponse.getBody())); } else { context.response().end(); } }
private void endResponse(ClientResponse repoResponse, RoutingContext context) { writeHeaders(context.response(), repoResponse.getHeaders()); context.response().setStatusCode(repoResponse.getStatusCode()); if (repoResponse.getBody() != null) { context.response().end(Buffer.newInstance(repoResponse.getBody())); } else { context.response().end(); } }