]> err.no Git - scalable-opengroupware.org/commitdiff
small perf-improvement for matching etags
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 21 Jul 2005 08:19:35 +0000 (08:19 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 21 Jul 2005 08:19:35 +0000 (08:19 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@860 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/MailerUI/ChangeLog
SOGo/UI/MailerUI/UIxMailView.m
SOGo/UI/MailerUI/Version

index 9853adbaee6254506242897f6d933c03f118d0ec..f2bc548b584d9351cea7f3e36aa3d37dff1af9ff 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-21  Helge Hess  <helge.hess@opengroupware.org>
+
+       * UIxMailView.m: do not fetch full message info for 304 existance
+         checks but rather call -doesMailExist (v0.9.162)
+
 2005-07-20  Helge Hess  <helge.hess@opengroupware.org>
 
        * removed 'stop' buttons from toolbars (v0.9.161)
index e430593dc90014c600ebb98bfeab2f36e46c25e1..4befcc042448634734f7ddc8fcb59913d1b1c30e 100644 (file)
@@ -162,14 +162,7 @@ static NSString *mailETag = nil;
 /* actions */
 
 - (id)defaultAction {
-  if ([self message] == nil) {
-    // TODO: redirect to proper error
-    return [NSException exceptionWithHTTPStatus:404 /* Not Found */
-                       reason:@"did not find specified message!"];
-  }
-  
   /* check etag to see whether we really must rerender */
-  
   if (mailETag != nil ) {
     NSString *s;
     
@@ -177,11 +170,24 @@ static NSString *mailETag = nil;
       if ([s rangeOfString:mailETag].length > 0) { /* not perfectly correct */
        /* client already has the proper entity */
        // [self logWithFormat:@"MATCH: %@ (tag %@)", s, mailETag];
+       
+       if (![[self clientObject] doesMailExist]) {
+         return [NSException exceptionWithHTTPStatus:404 /* Not Found */
+                             reason:@"message got deleted"];
+       }
+       
        [[[self context] response] setStatus:304 /* Not Modified */];
        return [[self context] response];
       }
     }
   }
+  
+  if ([self message] == nil) {
+    // TODO: redirect to proper error
+    return [NSException exceptionWithHTTPStatus:404 /* Not Found */
+                       reason:@"did not find specified message!"];
+  }
+  
   return self;
 }
 
index f9819ac39b6f6ee65d50b6cec8700cad54b19070..380f56fff0a234076fedd21354fa86db863e089a 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=161
+SUBMINOR_VERSION:=162
 
 # v0.9.140 requires SoObjects/Mailer v0.9.100
 # v0.9.134 requires libSOGo          v0.9.41