- From: Vu Nguyen <vu@isdnsys.com>
- Date: Tue, 30 Jan 1996 14:49:02 -0500
- To: "'www-lib@w3.org'" <www-lib@w3.org>
When can I remove the HTRequest object which is created by HTRequest_dupInternal()? as in the function below: ------- begin code snipped from HTTPServ.c ----------- PRIVATE int ParseRequest (HTStream * me) { HTRequest * request = me->request; ==> HTRequest * newreq = me->http->serve = HTRequest_dupInternal(request); char * line = HTChunk_data(me->buffer); char * method; char * request_uri; /* Bind the two request objects together */ newreq->source = request; request->output_format = WWW_SOURCE; request->source = request; /* Point to myself */ HTRequest_addDestination(request, newreq); newreq->input_format = WWW_SOURCE; /* Handle method and URI */ if ((method = HTNextField(&line)) && (request_uri = HTNextField(&line))) { if ((newreq->method = HTMethod_enum(method)) == METHOD_INVALID) { HTRequest_addError(newreq, ERR_FATAL, NO, HTERR_NOT_ALLOWED, NULL, 0, "ParseRequest"); HTRequest_delete(newreq); return HT_ERROR; } { char * uri = HTParse(request_uri, "file:", PARSE_ALL); newreq->anchor = (HTParentAnchor *) HTAnchor_findAddress(uri); #if 0 /* Take copy of the original uri */ StrAllocCopy(newreq->request_uri, request_uri); #endif } } else { HTRequest_addError(newreq, ERR_FATAL, NO, HTERR_BAD_REQUEST, NULL, 0, "ParseRequest"); return HT_ERROR; } /* ** Handle version. If we have a 1.x request then always parse headers. ** We might find a persistent connection request in which case we don't ** want to loose it. */ me->transparent = YES; if ((me->version = HTNextField(&line))) { request->input_stream = HTTPResponse_new(newreq, HTBufWriter_new(newreq->net, YES, 512)); newreq->output_stream = request->input_stream; me->target = HTStreamStack(WWW_MIME, newreq->output_format, newreq->output_stream, newreq, NO); return HT_OK; } else { if (PROT_TRACE) TTYPrint(TDEST, "Request Line is formatted as 0.9\n"); request->input_stream = HTBufWriter_new(request->net, YES, 512); newreq->output_stream = request->input_stream; return HT_LOADED; } } ------- end code snipped from HTTPServ.c ----------- Isn't it supposedly to be removed by the library? TIA, Vu Nguyen
Received on Tuesday, 30 January 1996 14:41:54 UTC