headers.remove(HttpConstants.CONTENT_ENCODING); headers.put(HttpConstants.CONTENT_LENGTH, Integer.toString(inflated.length)); res = res.builder().setEntity(inflated).setHeaders(headers).build();
headers.remove(HttpConstants.CONTENT_ENCODING); headers.put(HttpConstants.CONTENT_LENGTH, Integer.toString(inflated.length)); res = res.builder().setEntity(inflated).setHeaders(headers).build();
public static RestException buildRestException(RestLiResponseException restLiResponseException) { RestLiResponse restLiResponse = restLiResponseException.getRestLiResponse(); RestResponseBuilder responseBuilder = new RestResponseBuilder() .setHeaders(restLiResponse.getHeaders()) .setCookies(CookieUtil.encodeSetCookies(restLiResponse.getCookies())) .setStatus(restLiResponse.getStatus().getCode()); if (restLiResponse.hasData()) { DataMap dataMap = restLiResponse.getDataMap(); ByteArrayOutputStream baos = new ByteArrayOutputStream(4096); DataMapUtils.write(dataMap, null, baos, true); responseBuilder.setEntity(ByteString.unsafeWrap(baos.toByteArray())); // TODO: Error response not always built in requested content type. responseBuilder.setHeader(RestConstants.HEADER_CONTENT_TYPE, ContentType.JSON.getHeaderKey()); } RestResponse restResponse = responseBuilder.build(); return new RestException(restResponse, restLiResponseException.getCause()); }
private static RestResponse buildIndividualRestResponse(Response<?> envelopeResponse, IndividualResponse individualResponse) throws IOException, MimeTypeParseException { IndividualBody body = individualResponse.getBody(GetMode.NULL); ByteString entity = (body != null) ? DataMapConverter.dataMapToByteString(individualResponse.getHeaders(), body.data()) : ByteString.empty(); return new RestResponseBuilder() .setStatus(individualResponse.getStatus()) .setHeaders(inheritHeaders(individualResponse, envelopeResponse)) .setCookies(CookieUtil.encodeSetCookies(envelopeResponse.getCookies())) .setEntity(entity) .build(); }
public static RestResponse buildResponse(RoutingResult routingResult, RestLiResponse restLiResponse) { RestResponseBuilder builder = new RestResponseBuilder() .setHeaders(restLiResponse.getHeaders()) .setCookies(CookieUtil.encodeSetCookies(restLiResponse.getCookies())) .setStatus(restLiResponse.getStatus().getCode()); ServerResourceContext context = routingResult.getContext(); ResourceEntityType resourceEntityType = routingResult.getResourceMethod() .getResourceModel() .getResourceEntityType(); if (restLiResponse.hasData() && ResourceEntityType.STRUCTURED_DATA == resourceEntityType) { DataMap dataMap = restLiResponse.getDataMap(); String mimeType = context.getResponseMimeType(); builder = encodeResult(mimeType, builder, dataMap); } return builder.build(); }