You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2006/10/04 20:36:41 UTC
svn commit: r452969 -
/james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java
Author: bago
Date: Wed Oct 4 11:36:41 2006
New Revision: 452969
URL: http://svn.apache.org/viewvc?view=rev&rev=452969
Log:
Added an optimized getRawInputStream to MimeMessageWrapper: if we have an unchanged message we read the headers from the original inputstream (to skip them) and then return it to the caller (Attempt to fix JAMES-649)
Modified:
james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java
Modified: james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java?view=diff&rev=452969&r1=452968&r2=452969
==============================================================================
--- james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java (original)
+++ james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java Wed Oct 4 11:36:41 2006
@@ -529,6 +529,23 @@
return super.getContentStream();
}
+ /**
+ * @see javax.mail.internet.MimeMessage#getRawInputStream()
+ */
+ public InputStream getRawInputStream() throws MessagingException {
+ if (!messageParsed && !isModified() && source != null) {
+ InputStream is;
+ try {
+ is = source.getInputStream();
+ // skip the headers.
+ new MailHeaders(is);
+ return is;
+ } catch (IOException e) {
+ throw new MessagingException("Unable to read the stream: " + e.getMessage(), e);
+ }
+ } else return super.getRawInputStream();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org