You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by sebb <se...@gmail.com> on 2014/02/20 14:28:17 UTC

Re: svn commit: r1570138 - in /httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn: LoggingInputStream.java LoggingOutputStream.java Wire.java

On 20 February 2014 10:52,  <ol...@apache.org> wrote:
> Author: olegk
> Date: Thu Feb 20 10:52:30 2014
> New Revision: 1570138
>
> URL: http://svn.apache.org/r1570138
> Log:
> Wire log to include I/O errors and end of stream
>
> Modified:
>     httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java
>     httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java
>     httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java
>
> Modified: httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java
> URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java?rev=1570138&r1=1570137&r2=1570138&view=diff
> ==============================================================================
> --- httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java (original)
> +++ httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java Thu Feb 20 10:52:30 2014
> @@ -51,48 +51,79 @@ class LoggingInputStream extends InputSt
>
>      @Override
>      public int read() throws IOException {
> -        final int b = in.read();
> -        if (b != -1) {
> -            wire.input(b);
> +        try {
> +            final int b = in.read();
> +            if (b == -1) {
> +                wire.input("end of stream");
> +            } else {
> +                wire.input(b);
> +            }
> +            return b;
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
>          }
> -        return b;
>      }
>
>      @Override
>      public int read(final byte[] b) throws IOException {
> -        final int bytesRead = in.read(b);
> -        if (bytesRead != -1) {
> -            wire.input(b, 0, bytesRead);
> +        try {
> +            final int bytesRead = in.read(b);
> +            if (bytesRead == -1) {
> +                wire.input("end of stream");
> +            } else if (bytesRead > 0) {
> +                wire.input(b, 0, bytesRead);
> +            }
> +            return bytesRead;
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
>          }
> -        return bytesRead;
>      }
>
>      @Override
>      public int read(final byte[] b, final int off, final int len) throws IOException {
> -        final int bytesRead = in.read(b, off, len);
> -        if (bytesRead != -1) {
> -            wire.input(b, off, bytesRead);
> +        try {
> +            final int bytesRead = in.read(b, off, len);
> +            if (bytesRead == -1) {
> +                wire.input("end of stream");
> +            } else if (bytesRead > 0) {
> +                wire.input(b, off, bytesRead);
> +            }
> +            return bytesRead;
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
>          }
> -        return bytesRead;
>      }
>
>      @Override
>      public long skip(final long n) throws IOException {
> -        return super.skip(n);
> +        try {
> +            return super.skip(n);
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>      @Override
>      public int available() throws IOException {
> -        return in.available();
> +        try {
> +            return in.available();
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>      @Override
> -    public synchronized void mark(final int readlimit) {
> +    public void mark(final int readlimit) {

This is an unrelated change - and is it correct?

>          super.mark(readlimit);
>      }
>
>      @Override
> -    public synchronized void reset() throws IOException {
> +    public void reset() throws IOException {

This is an unrelated change - and is it correct?

>          super.reset();
>      }
>
> @@ -103,7 +134,12 @@ class LoggingInputStream extends InputSt
>
>      @Override
>      public void close() throws IOException {
> -        in.close();
> +        try {
> +            in.close();
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>  }
>
> Modified: httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java
> URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java?rev=1570138&r1=1570137&r2=1570138&view=diff
> ==============================================================================
> --- httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java (original)
> +++ httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java Thu Feb 20 10:52:30 2014
> @@ -51,29 +51,54 @@ class LoggingOutputStream extends Output
>
>      @Override
>      public void write(final int b) throws IOException {
> -        wire.output(b);
> +        try {
> +            wire.output(b);
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());

s/wire.input/wire.output/

Ditto below.

> +            throw ex;
> +        }
>      }
>
>      @Override
>      public void write(final byte[] b) throws IOException {
> -        wire.output(b);
> -        out.write(b);
> +        try {
> +            wire.output(b);
> +            out.write(b);
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>      @Override
>      public void write(final byte[] b, final int off, final int len) throws IOException {
> -        wire.output(b, off, len);
> -        out.write(b, off, len);
> +        try {
> +            wire.output(b, off, len);
> +            out.write(b, off, len);
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>      @Override
>      public void flush() throws IOException {
> -        out.flush();
> +        try {
> +            out.flush();
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>      @Override
>      public void close() throws IOException {
> -        out.close();
> +        try {
> +            out.close();
> +        } catch (IOException ex) {
> +            wire.input("I/O error: " + ex.getMessage());
> +            throw ex;
> +        }
>      }
>
>  }
>
> Modified: httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java
> URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java?rev=1570138&r1=1570137&r2=1570138&view=diff
> ==============================================================================
> --- httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java (original)
> +++ httpcomponents/httpclient/branches/4.3.x/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java Thu Feb 20 10:52:30 2014
> @@ -138,20 +138,12 @@ public class Wire {
>          input(new byte[] {(byte) b});
>      }
>
> -    /**
> -     * @deprecated (4.1)  do not use
> -     */
> -    @Deprecated

This change is unrelated - is it intentional?

>      public void output(final String s)
>        throws IOException {
>          Args.notNull(s, "Output");
>          output(s.getBytes());
>      }
>
> -    /**
> -     * @deprecated (4.1)  do not use
> -     */
> -    @Deprecated

This change is unrelated - is it intentional?

>      public void input(final String s)
>        throws IOException {
>          Args.notNull(s, "Input");
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: svn commit: r1570138

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Thu, 2014-02-20 at 13:28 +0000, sebb wrote:
> >
> >      @Override
> > -    public synchronized void mark(final int readlimit) {
> > +    public void mark(final int readlimit) {
> 
> This is an unrelated change - and is it correct?
> 

Why do you think it is incorrect? Synchronized is completely pointless
here.


> s/wire.input/wire.output/
> 
> Ditto below.
> 

Corrected.

Oleg



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org