title: Detecting cancelled request in Play with temporaryFile bodyParser
body: <p>If a large PUT/POST operation that uses <code>Action.async(temporaryFile)</code> bodyparser is cancelled by the caller, the Action body will execute as normal. There is a <code>java.nio.channels.ClosedChannelException</code> but that seems to happen only on writing the response back to the channel, rather than on the channel being closed before the request is completed.</p>
  
  <p>The only safe-guard I've found is to manually compare <code>file.length</code> to the <code>Content-Length</code> header and that's not even possible for streaming requests.</p>
  
  <p>Is this intentional and if so, is there some other hook to fail the request before it gets to the action if the channel is closed by the client mid-request?</p>