[ https://issues.apache.org/jira/browse/CXF-6891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15270618#comment-15270618 ]
Sergey Beryozkin commented on CXF-6891: --------------------------------------- Thanks for the tests, I added one of them to newly added IOUtilsTest. http://git-wip-us.apache.org/repos/asf/cxf/commit/986231de > IOUtils.isEmpty() doesn't reinclude byte in stream. > --------------------------------------------------- > > Key: CXF-6891 > URL: https://issues.apache.org/jira/browse/CXF-6891 > Project: CXF > Issue Type: Bug > Components: JAX-RS, Tooling > Affects Versions: 3.1.6 > Reporter: Luca Tabone > Fix For: 3.0.10, 3.1.7, 3.2.0 > > Attachments: cxf-bug.zip > > > While trying to integrate Katharsis with CXF I faced a problem related to > IOUtils.isEmpty() method. > When isEmpty is invoked with an InputStream that: > 1. Is not 'mark supported' and > 2. The 'available()' method returns '0'. > The byte that is read from the stream (used to determine whether the stream > is empty or not) is not re-included back to the stream. When I explored the > code inside PushbackInputStream class, I found that the byte is only being > included inside the PushbackInputStream.buf (using unread(byte[], int, int) > method). > Find attached Maven Project containing 2 test cases. > References: > > IOUtils: > https://cxf.apache.org/javadoc/latest/org/apache/cxf/helpers/IOUtils.html > > PushbackInputStream: > https://docs.oracle.com/javase/7/docs/api/java/io/PushbackInputStream.html > > Katharsis.io: http://katharsis.io -- This message was sent by Atlassian JIRA (v6.3.4#6332)