diff --git a/GSWeb.framework/GSWDirectActionRequestHandler.h b/GSWeb.framework/GSWDirectActionRequestHandler.h
index da5002e..c5801bf 100644
--- a/GSWeb.framework/GSWDirectActionRequestHandler.h
+++ b/GSWeb.framework/GSWDirectActionRequestHandler.h
@@ -1,6 +1,6 @@
/** GSWDirectActionRequestHandler.h -
GSWeb: Class GSWDirectActionRequestHandler
- Copyright (C) 1999-2002 Free Software Foundation, Inc.
+ Copyright (C) 1999-2004 Free Software Foundation, Inc.
Written by: Manuel Guesdon
Date: Feb 1999
@@ -40,6 +40,9 @@
};
-(GSWResponse*)generateNullResponse;
+-(GSWResponse*)generateRequestRefusalResponseForRequest:(GSWRequest*)aRequest;
+-(GSWResponse*)generateErrorResponseWithException:(NSException*)exception
+ inContext:(GSWContext*)aContext;
-(id)submitButtonsActionPathFromRequest:(GSWRequest*)aRequest;
+(NSArray*)additionalRequestPathArrayFromRequest:(GSWRequest*)aRequest;
-(void)setAllowsContentInputStream:(BOOL)yn;
diff --git a/GSWeb.framework/GSWDirectActionRequestHandler.m b/GSWeb.framework/GSWDirectActionRequestHandler.m
index e083cc9..76b25c6 100644
--- a/GSWeb.framework/GSWDirectActionRequestHandler.m
+++ b/GSWeb.framework/GSWDirectActionRequestHandler.m
@@ -1,6 +1,6 @@
/** GSWDirectActionRequestHandler.m - GSWeb: Class GSWDirectActionRequestHandler
- Copyright (C) 1999-2003 Free Software Foundation, Inc.
+ Copyright (C) 1999-2004 Free Software Foundation, Inc.
Written by: Manuel Guesdon
Date: Feb 1999
@@ -37,6 +37,25 @@ RCS_ID("$Id$")
//====================================================================
@implementation GSWDirectActionRequestHandler
+//--------------------------------------------------------------------
+-(id)init
+{
+ if ((self=[super init]))
+ {
+ ASSIGN(_actionClassName,[self defaultActionClassName]);
+ ASSIGN(_defaultActionName,[self defaultDefaultActionName]);
+ _displayExceptionPages = [self defaultDisplayExceptionPages];
+ };
+ return self;
+};
+
+//--------------------------------------------------------------------
+-(BOOL)defaultDisplayExceptionPages
+{
+ return [GSWApplication defaultDisplayExceptionPages];
+};
+
+//--------------------------------------------------------------------
-(NSString*)defaultActionClassName
{
return @"DirectAction";
@@ -115,6 +134,29 @@ RCS_ID("$Id$")
return response;
};
+//--------------------------------------------------------------------
+-(GSWResponse*)generateRequestRefusalResponseForRequest:(GSWRequest*)aRequest
+{
+ GSWResponse* response=nil;
+ LOGObjectFnStart();
+ response=[GSWResponse generateRefusingResponseInContext:nil
+ forRequest:aRequest];
+ LOGObjectFnStop();
+ return response;
+};
+
+//--------------------------------------------------------------------
+-(GSWResponse*)generateErrorResponseWithException:(NSException*)exception
+ inContext:(GSWContext*)aContext
+{
+ GSWResponse* response=nil;
+ LOGObjectFnStart();
+ if (_displayExceptionPages)
+ response=[GSWApp handleException:exception
+ inContext:aContext];
+ LOGObjectFnStop();
+ return response;
+};
//--------------------------------------------------------------------
//NDFN: return additional path elements
@@ -130,21 +172,25 @@ RCS_ID("$Id$")
return additionalRequestPathArray;
};
+//--------------------------------------------------------------------
-(void)setAllowsContentInputStream:(BOOL)yn
{
_allowsContentInputStream = yn;
};
+//--------------------------------------------------------------------
-(BOOL)allowsContentInputStream
{
return _allowsContentInputStream;
};
+//--------------------------------------------------------------------
-(void)setDisplayExceptionPages:(BOOL)yn
{
_displayExceptionPages=yn;
};
+//--------------------------------------------------------------------
-(BOOL)displayExceptionPages
{
return _displayExceptionPages;
@@ -163,6 +209,7 @@ RCS_ID("$Id$")
shouldAddToStatistics:YES];
};
+//--------------------------------------------------------------------
+(GSWDirectActionRequestHandler*)handlerWithDefaultActionClassName:(NSString*)defaultActionClassName
defaultActionName:(NSString*)defaultActionName
displayExceptionPages:(BOOL)displayExceptionPages