From 0a32a5ba9e69c10e7385b5d93dce8a7cdb734252 Mon Sep 17 00:00:00 2001 From: mguessan Date: Wed, 20 Jul 2011 13:47:37 +0000 Subject: [PATCH] Caldav: fix noneMatch handling over WebDav git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1742 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- .../exchange/dav/DavExchangeSession.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index f8902025..03a76d0b 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -1544,20 +1544,19 @@ public class DavExchangeSession extends ExchangeSession { propPatchMethod.setRequestHeader("If-None-Match", noneMatch); } try { - httpClient.executeMethod(propPatchMethod); + int status = httpClient.executeMethod(propPatchMethod); + + if (status == HttpStatus.SC_MULTI_STATUS) { + Item newItem = getItem(folderPath, itemName); + itemResult.status = propPatchMethod.getResponseStatusCode(); + itemResult.etag = newItem.etag; + } else { + itemResult.status = status; + } } finally { propPatchMethod.releaseConnection(); } - int status = DavGatewayHttpClientFacade.executeHttpMethod(httpClient, propPatchMethod); - if (status == HttpStatus.SC_MULTI_STATUS) { - Item newItem = getItem(folderPath, itemName); - itemResult.status = propPatchMethod.getResponseStatusCode(); - itemResult.etag = newItem.etag; - } else { - itemResult.status = status; - } - } else { String encodedHref = URIUtil.encodePath(getHref()); byte[] mimeContent = createMimeContent();