String encoding = request.getCharacterEncoding();
if( encoding != null )
encoding = StringUtils.unquote( encoding );
ServletInputStream is = request.getInputStream();
if( is.markSupported() && request.getContentLength() > 0 )
is.mark( request.getContentLength() );
ByteArrayOutputStream out = Tools.readAll( is, Tools.READ_ALL );
byte[] data = out.toByteArray();