private <T> ClientResponse<T> execute(ClientRequest request, final HttpURLConnection connection) throws IOException { outputBody(request, connection); final int status = connection.getResponseCode(); BaseClientResponse<T> response = new BaseClientResponse<T>(new BaseClientResponseStreamFactory() { public InputStream getInputStream() throws IOException { return (status < 300) ? connection.getInputStream() : connection.getErrorStream(); } public void performReleaseConnection() { try { getInputStream().close(); } catch (IOException e) { } connection.disconnect(); } }, this); response.setProviderFactory(request.getProviderFactory()); response.setStatus(status); response.setHeaders(getHeaders(connection)); response.setAttributes(request.getAttributes()); return response; }
private <T> ClientResponse<T> execute(ClientRequest request, final HttpURLConnection connection) throws IOException { outputBody(request, connection); final int status = connection.getResponseCode(); BaseClientResponse<T> response = new BaseClientResponse<T>(new BaseClientResponseStreamFactory() { public InputStream getInputStream() throws IOException { return (status < 300) ? connection.getInputStream() : connection.getErrorStream(); } public void performReleaseConnection() { try { getInputStream().close(); } catch (IOException e) { } connection.disconnect(); } }, this); response.setProviderFactory(request.getProviderFactory()); response.setStatus(status); response.setHeaders(getHeaders(connection)); response.setAttributes(request.getAttributes()); return response; }