Same comments apply to this commit as to the one in 4.3 On 20 February 2014 10:53, <[email protected]> wrote: > Author: olegk > Date: Thu Feb 20 10:52:59 2014 > New Revision: 1570140 > > URL: http://svn.apache.org/r1570140 > Log: > Wire log to include I/O errors and end of stream > > Modified: > > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java > > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java > > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java > > Modified: > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java > URL: > http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java?rev=1570140&r1=1570139&r2=1570140&view=diff > ============================================================================== > --- > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java > (original) > +++ > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingInputStream.java > Thu Feb 20 10:52:59 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) { > super.mark(readlimit); > } > > @Override > - public synchronized void reset() throws IOException { > + public void reset() throws IOException { > 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/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java > URL: > http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java?rev=1570140&r1=1570139&r2=1570140&view=diff > ============================================================================== > --- > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java > (original) > +++ > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/LoggingOutputStream.java > Thu Feb 20 10:52:59 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()); > + 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/trunk/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java > URL: > http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java?rev=1570140&r1=1570139&r2=1570140&view=diff > ============================================================================== > --- > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java > (original) > +++ > httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/Wire.java > Thu Feb 20 10:52:59 2014 > @@ -138,20 +138,12 @@ public class Wire { > input(new byte[] {(byte) b}); > } > > - /** > - * @deprecated (4.1) do not use > - */ > - @Deprecated > public void output(final String s) > throws IOException { > Args.notNull(s, "Output"); > output(s.getBytes()); > } > > - /** > - * @deprecated (4.1) do not use > - */ > - @Deprecated > public void input(final String s) > throws IOException { > Args.notNull(s, "Input"); > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
