protected final void extendHeader(final String headerName, final String headerValue) { final StringBuilder extended = new StringBuilder(); if (this.odataRequest.getHeaderNames().contains(headerName)) { extended.append(this.odataRequest.getHeader(headerName)).append(", "); } this.odataRequest.addCustomHeader(headerName, extended.append(headerValue).toString()); }
public PipedOutputStream getOutputStream() { return getPayloadManager().getBodyStreamWriter(); }
@Override public HttpResponse call() throws Exception { //NOSONAR ((HttpEntityEnclosingRequestBase) request).setEntity( URIUtils.buildInputStreamEntity(odataClient, payloadManager.getBody())); return doExecute(); } }));
final ODataResponse response; try { String uri = request.getURI().toASCIIString(); if (uri.startsWith("$")) { int slashIndex = uri.indexOf('/'); if (responses.containsKey(toBeReplaced)) { uri = uri.replace("$" + toBeReplaced, responses.get(toBeReplaced).toASCIIString()); request.setURI(URI.create(uri)); response = ((ODataStreamedRequest<?, ?>) request).payloadManager().getResponse(); } else { response = ((ODataBasicRequest<?>) request).execute(); LOG.error("While performing {}", entry.getKey().getURI(), e);
final InputStream input = getPayloadManager().getBody(); getPayloadManager().finalizeBody(); req.rawAppend(toByteArray()); if (StringUtils.isNotBlank(contentId)) { req.rawAppend((ODataBatchConstants.CHANGESET_CONTENT_ID_NAME + ": " + contentId).getBytes(DEFAULT_CHARSET)); req.rawAppend(ODataStreamer.CRLF); req.rawAppend(ODataStreamer.CRLF); req.rawAppend(IOUtils.toByteArray(input)); } catch (Exception e) { LOG.debug("Invalid stream", e); req.rawAppend(new byte[0]);
/** * {@inheritDoc } */ @Override public ODataSingleRequest setRequest(final ODataBatchableRequest request) { if (!isOpen()) { throw new IllegalStateException("Current batch item is closed"); } hasStreamedSomething = true; // stream the request if (request.getMethod() == HttpMethod.GET) { streamRequestHeader(request); } else { streamRequestHeader(ODataSingleResponseItem.SINGLE_CONTENT_ID); request.batch(req, ODataSingleResponseItem.SINGLE_CONTENT_ID); } // close before in order to avoid any further setRequest calls. close(); // add request to the list expectedResItem.addResponse( ODataSingleResponseItem.SINGLE_CONTENT_ID, ((AbstractODataRequest) request).getResponseTemplate()); return this; } }
protected HttpResponse doExecute() { // Add all available headers for (String key : odataRequest.getHeaderNames()) { final String value = odataRequest.getHeader(key); this.request.addHeader(key, value); LOG.debug("HTTP header being sent {}: {}", key, value); } return executeHttpRequest(httpClient, this.request); }
protected final HttpResponse executeHttpRequest(final HttpClient client, final HttpUriRequest req) { final HttpResponse response; try { response = client.execute(req); } catch (IOException e) { throw new HttpClientException(e); } catch (RuntimeException e) { req.abort(); throw new HttpClientException(e); } checkResponse(odataClient, response, odataRequest.getAccept()); return response; } }
/** * Stream the given request header. * * @param request request to be batched. */ protected void streamRequestHeader(final ODataBatchableRequest request) { // stream batch content type stream(ODataBatchConstants.ITEM_CONTENT_TYPE_LINE.getBytes(DEFAULT_CHARSET)); newLine(); stream(ODataBatchConstants.ITEM_TRANSFER_ENCODING_LINE.getBytes(DEFAULT_CHARSET)); newLine(); newLine(); stream(request.toByteArray()); newLine(); }
final ODataResponse response; try { String uri = request.getURI().toASCIIString(); if (uri.startsWith("$")) { int slashIndex = uri.indexOf('/'); if (responses.containsKey(toBeReplaced)) { uri = uri.replace("$" + toBeReplaced, responses.get(toBeReplaced).toASCIIString()); request.setURI(URI.create(uri)); response = ((ODataStreamedRequest<?, ?>) request).payloadManager().getResponse(); } else { response = ((ODataBasicRequest<?>) request).execute(); LOG.error("While performing {}", entry.getKey().getURI(), e);
protected final void extendHeader(final String headerName, final String headerValue) { final StringBuilder extended = new StringBuilder(); if (this.odataRequest.getHeaderNames().contains(headerName)) { extended.append(this.odataRequest.getHeader(headerName)).append(", "); } this.odataRequest.addCustomHeader(headerName, extended.append(headerValue).toString()); }
/** * {@inheritDoc } */ @Override public ODataSingleRequest setRequest(final ODataBatchableRequest request) { if (!isOpen()) { throw new IllegalStateException("Current batch item is closed"); } hasStreamedSomething = true; // stream the request if (request.getMethod() == HttpMethod.GET) { streamRequestHeader(request); } else { streamRequestHeader(ODataSingleResponseItem.SINGLE_CONTENT_ID); request.batch(req, ODataSingleResponseItem.SINGLE_CONTENT_ID); } // close before in order to avoid any further setRequest calls. close(); // add request to the list expectedResItem.addResponse( ODataSingleResponseItem.SINGLE_CONTENT_ID, ((AbstractODataRequest) request).getResponseTemplate()); return this; } }
protected HttpResponse doExecute() { // Add all available headers for (String key : odataRequest.getHeaderNames()) { final String value = odataRequest.getHeader(key); this.request.addHeader(key, value); LOG.debug("HTTP header being sent {}: {}", key, value); } return executeHttpRequest(httpClient, this.request); }
protected final HttpResponse executeHttpRequest(final HttpClient client, final HttpUriRequest req) { final HttpResponse response; try { response = client.execute(req); } catch (IOException e) { throw new HttpClientException(e); } catch (RuntimeException e) { req.abort(); throw new HttpClientException(e); } checkResponse(odataClient, response, odataRequest.getAccept()); return response; } }
@Override public HttpResponse call() throws Exception { //NOSONAR ((HttpEntityEnclosingRequestBase) request).setEntity( URIUtils.buildInputStreamEntity(odataClient, payloadManager.getBody())); return doExecute(); } }));
public PipedOutputStream getOutputStream() { return getPayloadManager().getBodyStreamWriter(); }
/** * Stream the given request header. * * @param request request to be batched. */ protected void streamRequestHeader(final ODataBatchableRequest request) { // stream batch content type stream(ODataBatchConstants.ITEM_CONTENT_TYPE_LINE.getBytes(DEFAULT_CHARSET)); newLine(); stream(ODataBatchConstants.ITEM_TRANSFER_ENCODING_LINE.getBytes(DEFAULT_CHARSET)); newLine(); newLine(); stream(request.toByteArray()); newLine(); }
/** * {@inheritDoc } */ @Override @SuppressWarnings("unchecked") public T payloadManager() { payloadManager = getPayloadManager(); if (URIUtils.shouldUseRepeatableHttpBodyEntry(odataClient)) { futureWrapper.setWrapped(odataClient.getConfiguration().getExecutor().submit(new Callable<HttpResponse>() { @Override public HttpResponse call() throws Exception { //NOSONAR ((HttpEntityEnclosingRequestBase) request).setEntity( URIUtils.buildInputStreamEntity(odataClient, payloadManager.getBody())); return doExecute(); } })); } else { ((HttpEntityEnclosingRequestBase) request).setEntity( URIUtils.buildInputStreamEntity(odataClient, payloadManager.getBody())); futureWrapper.setWrapped(odataClient.getConfiguration().getExecutor().submit(new Callable<HttpResponse>() { @Override public HttpResponse call() throws Exception { //NOSONAR return doExecute(); } })); } // returns the stream manager object return (T) payloadManager; }