This is what I did on the earlier gist I linked on the ticket 

https://gist.github.com/jkyamog/9616210

It works, but the server does not close the connection.  Some clients like curl does close the connection based on the response header, but like Chrome does not.  Hence I was looking for a listener that gets fired after a write on the downstream, so that a close can be performed.  So I reimplemented the writing of the header is done on PlayDefaultUpstreamHandler.exception as suggested by @richdougherty 

So I got 2 implementation, the gist which seems to be logical.  But server does not close the connection.  I need something like when the downstream HttpResponseEncoder finish writing, it should close.

The 2nd implementation is the working one, but dirty.  As I had to write the responses (and copy code in HttpResponseEncoder).

Are you suggesting to use the 1st implementation?  And fix to make the server disconnect.  Or is there a 3rd option?