On Jun 10, 2014, at 10:27 AM, Przemyslaw Bielicki <[email protected]> wrote:
> I need to know the input and output message size in my interceptors. > > I assume that "Content-Length" is not set in the request i.e. > (Transfer-Encoding = chunked), so I cannot take the in length from the HTTP > header - it must be really "computed". > > Additional difficulty is that I don't want to serialize incoming and > outgoing messages toString() as it will be a performance issue. > > Is there any way to get these sizes from the Input/OutputStream? Is there a > way to inject my custom stream wrappers that will be counting number of > bytes read/written? You would need to write an interceptor that would live fairly early in the interceptor chain that would do something like: InputStream in = message.getContent(InputStream.class); in = new MyLengthRecordingStream(in); message.setContent(InputSteam.class, in); The rest of the processing would then use your input stream and at the end of all the processing, you would have the length. -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
