Bug 8988 - Check for empty payload properly 55/63055/4
authorJakub Morvay <jmorvay@cisco.com>
Tue, 12 Sep 2017 14:48:23 +0000 (16:48 +0200)
committerJakub Morvay <jmorvay@cisco.com>
Wed, 20 Sep 2017 09:57:29 +0000 (11:57 +0200)
commit0f9babadeecb83013782d8044c27de2f1998f97b
tree5954c1c57e9d85c472ac519c3f2387b18a369deb
parent63c4d7988e29b54124cbf8a11cb3ff4bccf9f316
Bug 8988 - Check for empty payload properly

Do not use InputStream#avalaible method to check for empty payload's
input streams in our implementations of MessageBodyReader interface.
InputStream#avalaible method returns an estimate of the number of bytes
that can be read from input stream without blocking. We cannot be sure
the stream is actually empty, even if this method returns 0.

Wrap the payload's input stream in PushbackInputStream and try to read
and unread from it instead.

Change-Id: I43b3a8d837f3dc4bc59d7cc2db29ffa06786844f
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
restconf/restconf-common/src/main/java/org/opendaylight/restconf/common/util/RestUtil.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonNormalizedNodeBodyReader.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlNormalizedNodeBodyReader.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/spi/AbstractIdentifierAwareJaxRsProvider.java