libs-gsweb/GSWeb.framework/GSWResourceRequestHandler.m
Manuel Guesdon f14b5bf8da 2003-02-01 Manuel Guesdon <mguesdon@orange-concept.com>
* GSWeb/NSString+Trimming.m:
		o Replaced DataToHexString with -[NSData
		 hexadecimalRepresentation]. (David Ayers <d.ayers@inode.at>)
	* GSWeb/GSWHTMLURLValuesElement.m:
		o Replaced GSMD5 class with md5Digest of NSData category.
		 (David Ayers <d.ayers@inode.at>)
		o Replaced DataToHexString with -[NSData
		 hexadecimalRepresentation].  (David Ayers <d.ayers@inode.at>)
	* Examples/hello/GNUmakefile:
		o Use gsweb.make.
	* gsweb.make.in:
		o Change AUXILIARY_INCLUDE_LIBS to AUXILIARY_TOOL_LIB.
		 (David Ayers <d.ayers@inode.at>)
		o Handle GDL2 with ADDITIONAL_OBJCFLAGS.
		 (David Ayers <d.ayers@inode.at>)
	* configure.ac:
		o Check for GDL2 to set config.h correctly.
	* configure:
		o Regenerated. (David Ayers <d.ayers@inode.at>)
	* config.mak.in:
		o Set GDL2 as determined by configure. (David Ayers <d.ayers@inode.at>)
	* GSWeb.framework/GSWComponent.m:
		o use GSWApp -createResponseInContext: instead of creating
			GSWResponse instance directly
		o added -_appendPageToResponse:inContext:
	* GSWeb.framework/GSWApplication.[hm]:
		o added -createResponseInContext:
		o added -createRequestWithMethod:uri:httpVersion:headers:content:userInfo:
		o added -createResourceManager
		o used createResourceManager instead of creating it directly
		o added NSAutoreleasePool debug traces
		o exception log changed
	* GSWeb.framework/GSWDefaultAdaptorThread.m:
		o use application -createRequestWithMethod:uri:httpVersion:headers:content:userInfo:
			instead of directly creating GSWRequest instance directly
		o added NSAutoreleasePool debug traces
	 	o add thread_id trace in log
	* GSWeb.framework/GSWDefaultAdaptor.m:
		o added NSAutoreleasePool debug traces
	* GSWeb.framework/GSWComponentRequestHandler.m:
		o use GSWApp -createResponseInContext: instead of creating
			GSWResponse instance directly
	* GSWeb.framework/GSWResourceRequestHandler.m:
		o use GSWApp -createResponseInContext: instead of creating
			GSWResponse instance directly
	* GSWeb.framework/GSWDirectActionRequestHandler.m:
		o use GSWApp -createResponseInContext: instead of creating
			GSWResponse instance directly
	* GSWeb.framework/GSWResponse.m:
		o use GSWApp -createResponseInContext: instead of creating
			GSWResponse instance directly
	* GSWeb.framework/GSWTemplateParserXML.m:
		o added exception handling
		o added NSAutoreleasePool debug traces
	* GSWeb.framework/GSWTemplateParser.m:
		o added NSAutoreleasePool debug traces
	* GSWeb.framework/GSWSession.m
		o added NSAutoreleasePool debug traces
		o Fix in rand() use
		o NSString+Trimming
		o Fix in rand() use
	 	o add thread_id trace in log
		o Replaced GSMD5 class with md5Digest of NSData category.
		  (David Ayers <d.ayers@inode.at>)
		o Replaced DataToHexString with -[NSData
		hexadecimalRepresentation].  (David Ayers <d.ayers@inode.at>)
	* GSWeb.framework/GSWContext.m
		o add thread_id trace in log
	* GSWeb/GSWUtils.[hm]:
		o Removed DataToHexString() and HexStringToData().
		  (David Ayers <d.ayers@inode.at>)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@15846 72102866-910b-0410-8b05-ffd578937521
2003-02-01 19:07:25 +00:00

124 lines
3.6 KiB
Objective-C

/** GSWResourceRequestHandler.m - <title>GSWeb: Class GSWResourceRequestHandler</title>
Copyright (C) 1999-2003 Free Software Foundation, Inc.
Written by: Manuel Guesdon <mguesdon@orange-concept.com>
Date: Feb 1999
$Revision$
$Date$
$Id$
This file is part of the GNUstep Web Library.
<license>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
</license>
**/
static const char rcsId[] = "$Id$";
#include "GSWeb.h"
//====================================================================
@implementation GSWResourceRequestHandler
//--------------------------------------------------------------------
-(GSWResponse*)handleRequest:(GSWRequest*)aRequest
{
//OK
// /GSWeb/ObjCTest3.gswa/wr?gswdata=0
GSWResponse* response=nil;
NSString* gswdata=nil;
NSDictionary* elements=nil;
LOGObjectFnStart();
elements=[aRequest uriOrFormOrCookiesElements];
NSDebugMLog(@"elements=%@",elements);
gswdata=[elements objectForKey:GSWKey_Data[GSWebNamingConv]];
NSDebugMLog(@"gswdata=%@",gswdata);
if (gswdata)
response=[self _responseForDataCachedWithKey:gswdata];
else
{
ExceptionRaise0(@"GSWResourceRequestHandler",@"No data key in request");
LOGError0(@"");//TODO
};
NSDebugMLog(@"response=%@",response);
[response _finalizeInContext:nil];
LOGObjectFnStop();
return response;
};
//--------------------------------------------------------------------
-(GSWResponse*)_responseForJavaClassAtPath:(NSString*)aPath
{
LOGObjectFnNotImplemented(); //TODOFN
return nil;
};
//--------------------------------------------------------------------
-(GSWResponse*)_responseForDataAtPath:(NSString*)aPath
{
LOGObjectFnNotImplemented(); //TODOFN
return nil;
};
//--------------------------------------------------------------------
-(GSWResponse*)_responseForDataCachedWithKey:(NSString*)aKey
{
//OK
GSWResponse* response=nil;
GSWResourceManager* resourceManager=nil;
GSWURLValuedElementData* data=nil;
LOGObjectFnStart();
NSDebugMLog(@"aKey=%@",aKey);
response=[GSWApp createResponseInContext:nil];
resourceManager=[[GSWApplication application] resourceManager];
data=[resourceManager _cachedDataForKey:aKey];
NSDebugMLog(@"data=%@",data);
if (data)
[data appendToResponse:response
inContext:nil];
else
{
LOGSeriousError(@"No data for _key %@",
key);
//TODO
};
LOGObjectFnStop();
return response;
};
//--------------------------------------------------------------------
-(GSWResponse*)_generateResponseForData:(NSData*)aData
mimeType:(NSString*)mimeType
{
LOGObjectFnNotImplemented(); //TODOFN
return nil;
};
@end
//====================================================================
@implementation GSWResourceRequestHandler (GSWRequestHandlerClassA)
//--------------------------------------------------------------------
+(id)handler
{
return [[GSWResourceRequestHandler new] autorelease];
};
@end