public Observable request()

in src/main/java/com/microsoft/azure/spark/tools/http/HttpObservable.java [361:393]


    public Observable<CloseableHttpResponse> request(final HttpRequestBase httpRequest,
                                                     final @Nullable HttpEntity entity,
                                                     final List<NameValuePair> parameters,
                                                     final List<Header> addOrReplaceHeaders) {
        return Observable.fromCallable(() -> {
            URIBuilder builder = new URIBuilder(httpRequest.getURI());

            // Add parameters
            builder.setParameters(getDefaultParameters());

            if (parameters != null) {
                builder.addParameters(parameters);
            }

            httpRequest.setURI(builder.build());

            // Set the default headers and update Headers
            httpRequest.setHeaders(getDefaultHeaders());
            if (addOrReplaceHeaders != null) {
                addOrReplaceHeaders.forEach(httpRequest::setHeader);
            }

            // Set entity for non-entity
            if (httpRequest instanceof HttpEntityEnclosingRequestBase && entity != null) {
                ((HttpEntityEnclosingRequestBase) httpRequest).setEntity(entity);

                // Update the content type by entity
                httpRequest.setHeader(entity.getContentType());
            }

            return getHttpClient().execute(httpRequest, getHttpContext());
        });
    }