private MultiMap getHeaders(ClientResponse clientResponse, int bodyLength) { MultiMap headers = clientResponse.getHeaders(); headers.add(HttpHeaders.CONTENT_LENGTH.toString().toLowerCase(), Integer.toString(bodyLength)) .add("Content-Type", "application/json"); return headers; }
private MultiMap getHeaders(ClientResponse clientResponse, int bodyLength) { MultiMap headers = clientResponse.getHeaders(); headers.add(HttpHeaders.CONTENT_LENGTH.toString().toLowerCase(), Integer.toString(bodyLength)) .add("Content-Type", "application/json"); return headers; }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private void writeHeaders(final HttpServerResponse response, final ClientResponse clientResponse) { clientResponse.getHeaders().names().stream() .filter(this::headerFilter) .forEach( name -> clientResponse.getHeaders() .getAll(name) .forEach(value -> response.headers().add(name, value)) ); response.headers().remove(HttpHeaders.CONTENT_LENGTH.toString()); }
private KnotContext createSuccessResponse(KnotContext inputContext, String renderedContent) { ClientResponse clientResponse = inputContext.getClientResponse(); if (StringUtils.isBlank(renderedContent)) { clientResponse.setStatusCode(HttpResponseStatus.NO_CONTENT.code()); } else { MultiMap headers = clientResponse.getHeaders(); headers.add(HttpHeaders.CONTENT_LENGTH.toString().toLowerCase(), Integer.toString(renderedContent.length())); clientResponse.setBody(Buffer.buffer(renderedContent)).setHeaders(headers); clientResponse.setStatusCode(HttpResponseStatus.OK.code()); } return new KnotContext() .setClientRequest(inputContext.getClientRequest()) .setClientResponse(clientResponse); } }
private KnotContext createSuccessResponse(KnotContext inputContext, String renderedContent) { ClientResponse clientResponse = inputContext.getClientResponse(); if (StringUtils.isBlank(renderedContent)) { clientResponse.setStatusCode(HttpResponseStatus.NO_CONTENT.code()); } else { MultiMap headers = clientResponse.getHeaders(); headers.add(HttpHeaders.CONTENT_LENGTH.toString().toLowerCase(), Integer.toString(renderedContent.length())); clientResponse.setBody(Buffer.buffer(renderedContent)).setHeaders(headers); clientResponse.setStatusCode(HttpResponseStatus.OK.code()); } return new KnotContext() .setClientRequest(inputContext.getClientRequest()) .setClientResponse(clientResponse); } }
private KnotContext createSuccessResponse(KnotContext inputContext, String renderedContent) { ClientResponse clientResponse = inputContext.getClientResponse(); if (StringUtils.isBlank(renderedContent)) { clientResponse.setStatusCode(HttpResponseStatus.NO_CONTENT.code()); } else { MultiMap headers = clientResponse.getHeaders(); headers.add(HttpHeaders.CONTENT_LENGTH.toString().toLowerCase(), Integer.toString(renderedContent.length())); clientResponse.setBody(Buffer.buffer(renderedContent)).setHeaders(headers); clientResponse.setStatusCode(HttpResponseStatus.OK.code()); } return new KnotContext() .setClientRequest(inputContext.getClientRequest()) .setClientResponse(clientResponse); } }
@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 KnotContext routeToNextKnotResponse(ClientResponse clientResponse, KnotContext knotContext, List<FormEntity> forms, FormEntity form) { LOGGER.debug("Request next transition to [{}]", DEFAULT_TRANSITION); JsonObject actionContext = new JsonObject() .put("_result", new JsonObject(clientResponse.getBody().toString())) .put("_response", clientResponse.toMetadataJson()); form.fragment().context().put("action", actionContext); knotContext.getClientResponse() .setHeaders(getFilteredHeaders(clientResponse.getHeaders(), form.adapter().getAllowedResponseHeadersPatterns()) ); forms.forEach(f -> f.fragment() .content(simplifier .transform(f.fragment().content(), options.getFormIdentifierName(), f.identifier()))); knotContext.setTransition(DEFAULT_TRANSITION); return knotContext; }
private KnotContext redirectKnotResponse(KnotContext knotContext, FormEntity form, ClientResponse clientResponse, String redirectLocation) { LOGGER.debug("Request redirected to [{}]", redirectLocation); knotContext.getClientResponse() .setStatusCode(HttpResponseStatus.MOVED_PERMANENTLY.code()); MultiMap headers = MultiMap.caseInsensitiveMultiMap(); headers.addAll(getFilteredHeaders(clientResponse.getHeaders(), form.adapter().getAllowedResponseHeadersPatterns())); headers.add(HttpHeaders.LOCATION.toString(), redirectLocation); knotContext.getClientResponse().setHeaders(headers); knotContext.clearFragments(); return knotContext; }
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(); } }