private void sendResponse()

in iep-admin/src/main/java/com/netflix/iep/admin/RequestHandler.java [97:118]


  private void sendResponse(HttpExchange exchange, Object obj) throws IOException {
    HttpResponse res = HttpResponse.create(obj);

    Headers reqHeaders = exchange.getRequestHeaders();
    if (shouldCompressResponse(reqHeaders)) {
      res = res.gzip();
    }

    Headers resHeaders = exchange.getResponseHeaders();
    for (Map.Entry<String, String> entry : res.headers().entrySet()) {
      resHeaders.add(entry.getKey(), entry.getValue());
    }

    if ("HEAD".equals(exchange.getRequestMethod())) {
      exchange.sendResponseHeaders(res.status(), -1L);
    } else {
      exchange.sendResponseHeaders(res.status(), 0);
      try (OutputStream out = exchange.getResponseBody()) {
        out.write(res.entity());
      }
    }
  }