> -----Original Message-----
> From: Doug MacEachern [mailto:[EMAIL PROTECTED]]
> Sent: Friday, June 09, 2000 1:21 PM
> To: Geoffrey Young
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: err_headers_out Q
> 
> 
> On Fri, 2 Jun 2000, Geoffrey Young wrote:
> 
> > hi all...
> > 
> > this simple script:
> > 
> > #!/usr/bin/perl
> > 
> > my $r = shift;
> > $r->err_headers_out->add('Set-Cookie' => "name=error");
> > warn "pre headers_out: " . $r->headers_out->get('Set-Cookie');
> > 
> > $r->send_http_header('text/plain');
> > 
> > warn "post headers_out: " . $r->headers_out->get('Set-Cookie');
> > print "done";
> > 
> > yields:
> > pre headers_out:  at /usr/local/apache/perl-bin/err.cgi line 7.
> > post headers_out: name=error at 
> /usr/local/apache/perl-bin/err.cgi line 9.
> > 
> > and sets the cookie...
> > 
> > I was initially trying to create a PerlInitHandler to put a 
> cookie in
> > err_headers_out, which I would expect to be set only if 
> other handlers down
> > the line error out, but it was being set every request.
> > 
> > am I misunderstanding err_headers_out, or is 
> send_http_header misbehaving? 
> 
> see http_protocol.c:send_http_header():
> 
>     if (!ap_is_empty_table(r->err_headers_out))
>         r->headers_out = ap_overlay_tables(r->pool, 
> r->err_headers_out,
>                                         r->headers_out);

oh, that explains it.  and thanks for pointing out the relevant code bits...

sorry it took me so long to express my graditude :)

--Geoff

> 

Reply via email to