title: Calculate a HMAC from an HTTP POST without copying entire request body into memory
body: <p>In my application I want to calculate an <a href="http://en.wikipedia.org/wiki/Hash-based_message_authentication_code" rel="nofollow">HMAC</a> of an HTTP POST request body. So this input now needs to be processed for two operations: request parsing, and HMAC calculation.</p>
  
  <p>How can I achieve this without copying the entire request into a buffer (String, ByteArrayInputStream, etc)?</p>
  
  <p>I am happy to parse the inbound request body even if I will later reject the request due to an invalid HMAC header.</p>