@Override public void sendRequestHeader(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); this.requestWriter.write(request, this.outbuffer, socketHolder.getOutputStream()); onRequestSubmitted(request); incrementRequestCount(); }
@Override public void receiveResponseEntity( final ClassicHttpResponse response) throws HttpException, IOException { Args.notNull(response, "HTTP response"); final SocketHolder socketHolder = ensureOpen(); final long len = this.incomingContentStrategy.determineLength(response); response.setEntity(createIncomingEntity(response, this.inBuffer, socketHolder.getInputStream(), len)); } }
@Override public void receiveResponseEntity( final ClassicHttpResponse response) throws HttpException, IOException { Args.notNull(response, "HTTP response"); final SocketHolder socketHolder = ensureOpen(); final long len = this.incomingContentStrategy.determineLength(response); response.setEntity(createIncomingEntity(response, this.inBuffer, socketHolder.getInputStream(), len)); } }
@Override public void sendRequestHeader(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); this.requestWriter.write(request, this.outbuffer, socketHolder.getOutputStream()); onRequestSubmitted(request); incrementRequestCount(); }
@Override public void sendRequestEntity(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final HttpEntity entity = request.getEntity(); if (entity == null) { return; } final long len = this.outgoingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.UNDEFINED) { throw new LengthRequiredException(); } try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), entity.getTrailers())) { entity.writeTo(outStream); } }
@Override public void sendRequestEntity(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final HttpEntity entity = request.getEntity(); if (entity == null) { return; } final long len = this.outgoingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.UNDEFINED) { throw new LengthRequiredException(); } try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), entity.getTrailers())) { entity.writeTo(outStream); } }
@Override public void terminateRequest(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final HttpEntity entity = request.getEntity(); if (entity == null) { return; } final long len = this.outgoingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.CHUNKED) { try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), entity.getTrailers())) { // just close } } else if (len >= 0 && len <= 1024) { try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), null)) { entity.writeTo(outStream); } } else { this.consistent = false; } }
@Override public void terminateRequest(final ClassicHttpRequest request) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final SocketHolder socketHolder = ensureOpen(); final HttpEntity entity = request.getEntity(); if (entity == null) { return; } final long len = this.outgoingContentStrategy.determineLength(request); if (len == ContentLengthStrategy.CHUNKED) { try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), entity.getTrailers())) { // just close } } else if (len >= 0 && len <= 1024) { try (final OutputStream outStream = createContentOutputStream(len, this.outbuffer, socketHolder.getOutputStream(), null)) { entity.writeTo(outStream); } } else { this.consistent = false; } }
@Override public ClassicHttpResponse receiveResponseHeader() throws HttpException, IOException { final SocketHolder socketHolder = ensureOpen(); final ClassicHttpResponse response = this.responseParser.parse(this.inBuffer, socketHolder.getInputStream()); final ProtocolVersion transportVersion = response.getVersion(); if (transportVersion != null && transportVersion.greaterEquals(HttpVersion.HTTP_2)) { throw new UnsupportedHttpVersionException(transportVersion); } this.version = transportVersion; onResponseReceived(response); final int status = response.getCode(); if (status < HttpStatus.SC_INFORMATIONAL) { throw new ProtocolException("Invalid response: " + status); } if (response.getCode() >= HttpStatus.SC_SUCCESS) { incrementResponseCount(); } return response; }
@Override public ClassicHttpResponse receiveResponseHeader() throws HttpException, IOException { final SocketHolder socketHolder = ensureOpen(); final ClassicHttpResponse response = this.responseParser.parse(this.inBuffer, socketHolder.getInputStream()); final ProtocolVersion transportVersion = response.getVersion(); if (transportVersion != null && transportVersion.greaterEquals(HttpVersion.HTTP_2)) { throw new UnsupportedHttpVersionException(transportVersion); } this.version = transportVersion; onResponseReceived(response); final int status = response.getCode(); if (status < HttpStatus.SC_INFORMATIONAL) { throw new ProtocolException("Invalid response: " + status); } if (response.getCode() >= HttpStatus.SC_SUCCESS) { incrementResponseCount(); } return response; }