Bug 8988 - Check for empty payload properly 48/63048/1
authorJakub Morvay <jmorvay@cisco.com>
Tue, 12 Sep 2017 14:48:23 +0000 (16:48 +0200)
committerJakub Morvay <jmorvay@cisco.com>
Tue, 12 Sep 2017 14:48:23 +0000 (16:48 +0200)
commit02e887a752763bc69e794552a4b6c6fe3fc0820e
tree5f25a74cf78ce519b376c3e3b1f92f284b70cb22
parentaccee105aff940c0437d5e6b7911a3f85c29809b
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/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonNormalizedNodeBodyReader.java
restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java
restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/rest/impl/RestUtil.java
restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlNormalizedNodeBodyReader.java
restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java
restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/jersey/providers/AbstractIdentifierAwareJaxRsProvider.java