private void debug(final HttpResponse httpResponse) {
    if (logger.isDebugEnabled()) {
      logger.debug("New http response:");

      if (httpResponse.getStatusLine() != null) {
        final int status = httpResponse.getStatusLine().getStatusCode();
        logger.debug("Status: {}", status);
      }

      final Header[] header = httpResponse.getHeaders(HttpHeader.CONTENT_TYPE.toString());
      if (header != null && header.length > 0) {
        final String contentType = header[0].getValue();
        logger.debug("{} : {}", HttpHeader.CONTENT_TYPE.toString(), contentType);
      }

      if (httpResponse.getEntity() != null) {
        try {
          logger.debug("Entity body: {} ", EntityUtils.toString(httpResponse.getEntity()));
        } catch (final Exception e) {
          logger.error("Error parsing body", e);
        }
      }
    }
  }
  private void prepareErrorResponse(final HttpResponse response, final PlatformException e) {
    final int errorCode =
        (e.getHttpStatus() != 0 ? e.getHttpStatus() : HttpStatus.SC_INTERNAL_SERVER_ERROR);
    final String errorMessage = e.getMessage();
    ErrorMessage message = new ErrorMessage(errorCode, errorMessage);

    try {
      ByteArrayOutputStream baos = errorParser.writeInternal(message);
      response.setStatusCode(errorCode);
      response.setEntity(new ByteArrayEntity(baos.toByteArray(), ErrorParser.DEFAULT_CONTENT_TYPE));
      response.setHeader(
          HttpHeader.CONTENT_TYPE.toString(), ErrorParser.DEFAULT_CONTENT_TYPE.toString());
    } catch (JsonConverterException jce) {
      response.setStatusCode(errorCode);
      response.setEntity(new ByteArrayEntity(jce.getMessage().getBytes()));
    }
  }
 private void prepareResponse(final HttpResponse httpResponse, final String contentType) {
   httpResponse.setStatusCode(HttpStatus.SC_OK);
   httpResponse.setHeader(HttpHeader.CONTENT_TYPE.toString(), contentType);
 }