From e7e2a67cb49201cdb3d742ac9b47050e718a19b4 Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 23 Apr 2013 12:38:18 +0000 Subject: [PATCH] IMAP: try to avoid timeout on large message FETCH with a KeepAlive space character git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2098 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index fdb0caaf..eef2af1e 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -1905,7 +1905,7 @@ public abstract class ExchangeSession { * @throws IOException on error * @throws MessagingException on error */ - protected void loadMimeMessage() throws IOException, MessagingException { + public void loadMimeMessage() throws IOException, MessagingException { if (mimeMessage == null) { // try to get message content from cache if (this.imapUid == messageList.cachedMessageImapUid) { @@ -1940,7 +1940,7 @@ public abstract class ExchangeSession { return mimeMessage; } - public Enumeration getMatchingHeaderLines(String[] headerNames) throws MessagingException, IOException { + public Enumeration getMatchingHeaderLinesFromHeaders(String[] headerNames) throws MessagingException, IOException { Enumeration result = null; if (mimeMessage == null) { // message not loaded, try to get headers only @@ -1949,6 +1949,11 @@ public abstract class ExchangeSession { result = new InternetHeaders(headers).getMatchingHeaderLines(headerNames); } } + return result; + } + + public Enumeration getMatchingHeaderLines(String[] headerNames) throws MessagingException, IOException { + Enumeration result = getMatchingHeaderLinesFromHeaders(headerNames); if (result == null) { result = getMimeMessage().getMatchingHeaderLines(headerNames); } @@ -2000,6 +2005,10 @@ public abstract class ExchangeSession { mimeBody = null; } + public boolean isLoaded() { + return mimeMessage != null; + } + /** * Delete message. *