/** * Converts a low-level HTTP call into a high-level uniform call. * * @param client * The HTTP client that will handle the call. * @param request * The high-level request. * @return A new high-level uniform call. */ public ClientCall toSpecific(HttpClientHelper client, Request request) { // Create the low-level HTTP client call ClientCall result = client.create(request); // Add the headers if (result != null) { HeaderUtils.addGeneralHeaders(request, result.getRequestHeaders()); if (request.getEntity() != null) { HeaderUtils.addEntityHeaders(request.getEntity(), result.getRequestHeaders()); } // NOTE: This must stay at the end because the AWS challenge // scheme requires access to all HTTP headers HeaderUtils.addRequestHeaders(request, result.getRequestHeaders()); } return result; }