]> err.no Git - sope/blobdiff - sope-appserver/NGObjWeb/WORequestHandler.m
Xcode projects
[sope] / sope-appserver / NGObjWeb / WORequestHandler.m
index 5c7546c9f4072b6683f88ca5fa4776cdf327b259..faccd753074a9700e6e815744c37b9f036392843 100644 (file)
@@ -18,7 +18,6 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #include "WORequestHandler+private.h"
 #include "WOApplication+private.h"
 @end
 #endif
 
+@interface WOApplication(Privates)
+- (void)_setCurrentContext:(WOContext *)_ctx;
+@end
+
 @implementation WORequestHandler
 
 static BOOL  perflog = NO;
@@ -122,7 +125,6 @@ static Class NSDateClass = Nil;
   WOResponse    *response   = nil;
   WOContext     *context    = nil;
   NSThread      *thread;
-  NSMutableDictionary *threadDict;
   NSString      *sessionId  = nil;
   WOSession     *session    = nil;
   NSString *uri;
@@ -143,8 +145,6 @@ static Class NSDateClass = Nil;
   
   thread = [NSThread currentThread];
   NSAssert(thread, @"missing current thread ...");
-  threadDict = [thread threadDictionary];
-  NSAssert(threadDict, @"missing current thread's dictionary ...");
   
   if (_request == nil) return nil;
 
@@ -158,8 +158,7 @@ static Class NSDateClass = Nil;
     /* setup context */
     context = [WOContext contextWithRequest:_request];
     NSAssert(context,    @"no context assigned ..");
-    NSAssert(threadDict, @"missing current thread's dictionary ...");
-    [threadDict setObject:context forKey:@"WOContext"];
+    [app _setCurrentContext:context];
     
     /* check session id */
     *(&session)   = nil;
@@ -269,8 +268,7 @@ static Class NSDateClass = Nil;
     }
     NS_ENDHANDLER;
     
-    NSAssert(threadDict, @"missing current thread's dictionary ...");
-    [threadDict removeObjectForKey:@"WOContext"];
+    [app _setCurrentContext:nil];
   }
 #if USE_POOLS
   [pool release]; pool = nil;