Return-Path: X-Original-To: apmail-hc-commits-archive@www.apache.org Delivered-To: apmail-hc-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E761D10B77 for ; Wed, 26 Feb 2014 16:49:31 +0000 (UTC) Received: (qmail 36330 invoked by uid 500); 26 Feb 2014 16:49:31 -0000 Delivered-To: apmail-hc-commits-archive@hc.apache.org Received: (qmail 36298 invoked by uid 500); 26 Feb 2014 16:49:31 -0000 Mailing-List: contact commits-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list commits@hc.apache.org Received: (qmail 36290 invoked by uid 99); 26 Feb 2014 16:49:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Feb 2014 16:49:30 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Feb 2014 16:49:28 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id D045F2388AB8 for ; Wed, 26 Feb 2014 16:49:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1572159 [5/45] - in /httpcomponents/site: ./ css/ httpcomponents-asyncclient-4.0.x/ httpcomponents-client-4.2.x/ httpcomponents-client-4.3.x/ httpcomponents-client-4.3.x/fluent-hc/ httpcomponents-client-4.3.x/fluent-hc/apidocs/ httpcompone... Date: Wed, 26 Feb 2014 16:48:15 -0000 To: commits@hc.apache.org From: ggregory@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140226164908.D045F2388AB8@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: httpcomponents/site/httpcomponents-client-4.3.x/fluent-hc/xref/org/apache/http/client/fluent/InternalInputStreamEntity.html URL: http://svn.apache.org/viewvc/httpcomponents/site/httpcomponents-client-4.3.x/fluent-hc/xref/org/apache/http/client/fluent/InternalInputStreamEntity.html?rev=1572159&view=auto ============================================================================== --- httpcomponents/site/httpcomponents-client-4.3.x/fluent-hc/xref/org/apache/http/client/fluent/InternalInputStreamEntity.html (added) +++ httpcomponents/site/httpcomponents-client-4.3.x/fluent-hc/xref/org/apache/http/client/fluent/InternalInputStreamEntity.html Wed Feb 26 16:47:55 2014 @@ -0,0 +1,110 @@ + + + + +InternalInputStreamEntity xref + + + +
+
+1   /*
+2    * ====================================================================
+3    * Licensed to the Apache Software Foundation (ASF) under one
+4    * or more contributor license agreements.  See the NOTICE file
+5    * distributed with this work for additional information
+6    * regarding copyright ownership.  The ASF licenses this file
+7    * to you under the Apache License, Version 2.0 (the
+8    * "License"); you may not use this file except in compliance
+9    * with the License.  You may obtain a copy of the License at
+10   *
+11   *   http://www.apache.org/licenses/LICENSE-2.0
+12   *
+13   * Unless required by applicable law or agreed to in writing,
+14   * software distributed under the License is distributed on an
+15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+16   * KIND, either express or implied.  See the License for the
+17   * specific language governing permissions and limitations
+18   * under the License.
+19   * ====================================================================
+20   *
+21   * This software consists of voluntary contributions made by many
+22   * individuals on behalf of the Apache Software Foundation.  For more
+23   * information on the Apache Software Foundation, please see
+24   * <http://www.apache.org/>.
+25   *
+26   */
+27  
+28  package org.apache.http.client.fluent;
+29  
+30  import java.io.IOException;
+31  import java.io.InputStream;
+32  import java.io.OutputStream;
+33  
+34  import org.apache.http.entity.AbstractHttpEntity;
+35  import org.apache.http.entity.ContentType;
+36  import org.apache.http.util.Args;
+37  
+38  class InternalInputStreamEntity extends AbstractHttpEntity {
+39  
+40      private final InputStream content;
+41      private final long length;
+42  
+43      public InternalInputStreamEntity(final InputStream instream, final long length, final ContentType contentType) {
+44          super();
+45          this.content = Args.notNull(instream, "Source input stream");
+46          this.length = length;
+47          if (contentType != null) {
+48              setContentType(contentType.toString());
+49          }
+50      }
+51  
+52      public boolean isRepeatable() {
+53          return false;
+54      }
+55  
+56      public long getContentLength() {
+57          return this.length;
+58      }
+59  
+60      public InputStream getContent() throws IOException {
+61          return this.content;
+62      }
+63  
+64      public void writeTo(final OutputStream outstream) throws IOException {
+65          Args.notNull(outstream, "Output stream");
+66          final InputStream instream = this.content;
+67          try {
+68              final byte[] buffer = new byte[4096];
+69              int l;
+70              if (this.length < 0) {
+71                  // consume until EOF
+72                  while ((l = instream.read(buffer)) != -1) {
+73                      outstream.write(buffer, 0, l);
+74                  }
+75              } else {
+76                  // consume no more than length
+77                  long remaining = this.length;
+78                  while (remaining > 0) {
+79                      l = instream.read(buffer, 0, (int)Math.min(4096, remaining));
+80                      if (l == -1) {
+81                          break;
+82                      }
+83                      outstream.write(buffer, 0, l);
+84                      remaining -= l;
+85                  }
+86              }
+87          } finally {
+88              instream.close();
+89          }
+90      }
+91  
+92      public boolean isStreaming() {
+93          return true;
+94      }
+95  
+96  }
+
+
+ +