According to RFC 4975:
There are some circumstances where an endpoint may choose to send an empty SEND request. For the sake of consistency, a Byte-Range header field referring to nonexistent or zero-length content MUST still have a range-start value of 1. For example, "1-0/0".
However Transaction.makeSendHeader() doesn't include the Byte-Range: 1-0/0 header when content in OutgoingMessage is null.