コード例 #1
0
ファイル: Olingo2AppImpl.java プロジェクト: mnki/camel
  /** public for unit test, not to be used otherwise */
  public void execute(
      HttpUriRequest httpUriRequest,
      ContentType contentType,
      FutureCallback<HttpResponse> callback) {

    // add accept header when its not a form or multipart
    final String contentTypeString = contentType.toString();
    if (!ContentType.APPLICATION_FORM_URLENCODED.getMimeType().equals(contentType.getMimeType())
        && !contentType.getMimeType().startsWith(MULTIPART_MIME_TYPE)) {
      // otherwise accept what is being sent
      httpUriRequest.addHeader(HttpHeaders.ACCEPT, contentTypeString);
    }
    // is something being sent?
    if (httpUriRequest instanceof HttpEntityEnclosingRequestBase
        && httpUriRequest.getFirstHeader(HttpHeaders.CONTENT_TYPE) == null) {
      httpUriRequest.addHeader(HttpHeaders.CONTENT_TYPE, contentTypeString);
    }

    // set user specified custom headers
    if (httpHeaders != null && !httpHeaders.isEmpty()) {
      for (Map.Entry<String, String> entry : httpHeaders.entrySet()) {
        httpUriRequest.setHeader(entry.getKey(), entry.getValue());
      }
    }

    // add client protocol version if not specified
    if (!httpUriRequest.containsHeader(ODataHttpHeaders.DATASERVICEVERSION)) {
      httpUriRequest.addHeader(ODataHttpHeaders.DATASERVICEVERSION, ODataServiceVersion.V20);
    }
    if (!httpUriRequest.containsHeader(MAX_DATA_SERVICE_VERSION)) {
      httpUriRequest.addHeader(MAX_DATA_SERVICE_VERSION, ODataServiceVersion.V30);
    }

    // execute request
    client.execute(httpUriRequest, callback);
  }