On Aug 20, 2000 at 19:38:53 -0700, Alex Menendez twiddled the keys to say:
> cgi scripts. the module uses lookup_uri() to generate a subrequest then
> calls run() to output the actual contents of the file. the eagle book
> says that calling run() on a subrequest should automatically send the
> client the appropriate http headers and the document's body. However, I
> have found that this is not the case. The following code does not send
> http headers for both cgis and html docs. The body stuff is working fine
> but the headers are not being sent:
>
> my $uri = $r->uri;
> unless(!$r->args) {
> $uri = $uri .'?'.$r->args;
> }
> my $subr = $r->lookup_uri($uri);
> if($r->dir_config('is_cgi')) {
> $subr->handler('cgi-script');
> } else {
> $subr->handler('server-parsed');
> }
> $subr->run();
> my $status = $subr->status;
> $r->print(&create_img_tag($file,$SCRIPT_ON,$status));
> return $status;
>
> any ideas?
Yes. run() no longer sends headers (as far as I know). I don't know when
it was changed, but it pre-dates my experience. I've had the following
working just fine for close to a year now (or maybe my sense of time is
warped :).
my $lookup = $r->lookup_uri( $uri );
$r->send_http_header( 'text/html' );
my $status = $lookup->run;
$r->status( $status );
Rick Myers [EMAIL PROTECTED]
----------------------------------------------------
The Feynman Problem 1) Write down the problem.
Solving Algorithm 2) Think real hard.
3) Write down the answer.