The best way to do this is a servlet filter. See this answer for an example how to read the response in a filter.
As an alternative, you could register a PhaseListener and try to hook into RWT's internal APIs such as ClientMessage and ProtocolMessageWriter. However, these internals are subject to change and even the PhaseListener interface will be deprecated and likely removed in RAP 3. Therefore, I wouldn't recommend this approach.