Hello,
 
Is it possible to get the full content of a response body before it’s sent?  I’m trying to sign the response and add this signature in a header.  There was a similar question on this list a couple of weeks ago, but that one was about signing the incoming request.  My current approach is, in HttpHandler.handleRequest():
 
- Create a javax.crypto.Signature object
- Use HttpServerExchange. addResponseWrapper() to add a StreamSinkConduit that updates the Signature object as write() is called
- Use HttpServerExchange.addResponseCommitListener() to add a callback that calls Signature.sign() when the response is ready to be sent
 
Good in theory, but I’m finding that the sign happens before the updates – looks like the Conduit is only active as the response is being sent.  Is there something else I should wrap to get the bytes as they’re being added to the response?  Even better would be if I could read them directly from the ResponseCommitListener.beforeCommit() callback.  I can see the number of bytes that have been written, but not the actual data.
 
Note: I’m using Undertow 1.2.x, as we’re on WildFly 9.
 
--
Vikas Nagaraj
vikas.nagaraj@safenet-inc.com
 
 
 

The information contained in this electronic mail transmission
may be privileged and confidential, and therefore, protected
from disclosure. If you have received this communication in
error, please notify us immediately by replying to this
message and deleting it from your computer without copying
or disclosing it.