Your proposal works.
which one did work for you:
PerlSendHeader On or $r-send_http_header?
In my first try with the print "Content-type: text/html\r\n\r\n" I had the
"PerlSendHeader On" and the content-type of the response was "text/plain".
In the second try with "$r-send_http_header" I removed the "PerlSendHeader
On" and the content-type of the response is "text/html"
Then, how to solve "the problem with "\n\n" ? To be compatible It should
also work.
This example would work only if you have PerlSendHeader set to 'On'
in the
config file. Is it On? May be this is not a problem "\r\n", if this
is
your case
Generally "\n\n" is enough for most (all?) of the widely used
browsers
(clients), but to be complient with HTTP RFCs one has to use
"\r\n\r\n".
what do you get when you replace this mod_cgi'ish header sending
with
true mod_perl'ish:
my $r = shift;
$r-content_type('text/html');
$r-send_http_header;
or simpler:
my $r = shift;
$r-send_http_header('text/html');
Does it work?
#!/usr/local/bin/perl -w
use strict;
print "Content-type: text/html\r\n\r\n";
my $counter = 0;
for (1..5) {
increment_counter();
}
sub increment_counter{
$counter++;
print "Counter is equal to . $counter !BR\n";
}
The result that I have is:
HTTP/1.1 200 OK
Date: Mon, 15 Nov 1999 09:36:57 GMT
Server: Apache/1.3.9 (BS2000) mod_perl/1.21 ApacheJServ/1.0
Connection: close
Content-Type: text/plain
Counter is equal to . 1 !BR
Counter is equal to . 2 !BR
Counter is equal to . 3 !BR
Counter is equal to . 4 !BR
Counter is equal to . 5 !BR
Connection closed by foreign host.
The content-type is text/plain instead text/html, mod_perl loses
this header
probably due to EBCDIC conversion of the "\n" character. Trying
with
print "Content-type: text/html\r\n";
or with
print "Content-type: text/html\r\r\n";
the content-type is text/html, as it should be.
I looked the sources of mod_perl for some part where the mod_perl
is
preparing the headers from the output of perl5 and to pass them to
the
apache. I don't understand who is doing that. Can someone help me
to find
where the content-type header is lost.
-- Ignasi Roca
___
Stas Bekman mailto:[EMAIL PROTECTED]
www.singlesheaven.com/stas
Perl,CGI,Apache,Linux,Web,Java,PC at
www.singlesheaven.com/stas/TULARC
www.apache.org www.perl.com == www.modperl.com ||
perl.apache.org
single o- + single o-+ = singlesheaven
http://www.singlesheaven.com
___
Stas Bekman mailto:[EMAIL PROTECTED]www.singlesheaven.com/stas
Perl,CGI,Apache,Linux,Web,Java,PC at www.singlesheaven.com/stas/TULARC
www.apache.org www.perl.com == www.modperl.com || perl.apache.org
single o- + single o-+ = singlesheavenhttp://www.singlesheaven.com