The "curl" tool will include an "Expect: 100-continue" header in PUT/POST operations. curl will then block until the server has responded with a "100 Continue". See rfc723.
In order to minimize message fragmentation at the TCP/IP layer the router will not immediately forward a small message that is streaming (See
DISPATCH-1545). However, the curl client's message is too small to trigger the streaming logic and will never signal receive-complete as it is waiting for a response from the server. This means the partial request message is never forwarded and curl hangs.