Re: [Templates] mod_perl + cookies + TT2 process = my problem

[prev] [thread] [next] [Date index for 2004/12/13]

From: Tosh Cooey
Subject: Re: [Templates] mod_perl + cookies + TT2 process = my problem
Date: 17:48 on 13 Dec 2004
Harry Jackson wrote:

> Tosh Cooey wrote:
> 
>> Hi, I have the following program running under mod_perl:
>>
>> program.pl
>> **********
>> do stuff...
>> my $sitewide = new SITEWIDE;
>> more stuff...
>> $template->process($page, $vars);
>> END
>>
>> SITEWIDE.pm
>> ***********
>> stuff...
>> my $cgi = new CGI;
>> my $cookie = $cgi->cookie(-name=>'UID');
>> &set_cookie  if (!$cookie);
>> stuff...
>>
>>
>> In "program.pl" there is no "Content-type:" header sent in the CGI but 
>> it's rather in the template, that way each template has control over 
>> it's own header.
>>
>> If a user hits "program.pl" and they *don't* have a cookie then one is 
>> set, BUT then the output of program.pl isn't sent as rendered HTML but 
>> as text, ie. the user sees this:
> 
> 
> This may be wrong but what way are you sending the header. if its a 
> plain piece of text in the template then mod_perl will ignore it and 
> guess the mime type which in your case is text. If you use the CGI 
> module from withing the template to call its header method them the CGI 
> module should detect mod_perl and handle it properly.
> 
> "Parctical mod_perl: Oreilly" has some stuff on this. Have a look at 
> Chapter 6

This would seem to be the case, and Chapter six says:

"The PerlSendHeader On directive tells mod_perl to intercept anything that looks 
like a header line (such as Content-Type: text/plain) and automatically turn it 
in to a correctly formatted HTTP header, much like CGI scripts running under 
mod_cgi. This feature allows you to keep your CGI scripts unmodified. "

I'm using mod_perl2 and have PerlOptions +ParseHeaders set which I assume is the 
same.

Any idea why the output from TT2's "process" call isn't intercepted while a 
standard print "Content-type: text/html\n\n;" is?  Is the output redirected to 
<STDOUT> rather than via 'print' ?

And of course is there an elegant way of sending headers per individual template?

Tosh

        -- 
        McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/

_______________________________________________
templates mailing list
templates@xxxxxxxxxxxxxxxx.xxx
http://lists.template-toolkit.org/mailman/listinfo/templates

Re: [Templates] mod_perl + cookies + TT2 process = my problem
Tosh Cooey 17:48 on 13 Dec 2004

Generated at 08:55 on 15 Mar 2005 by mariachi v0.52