Just to re-iterate a previous post. Here is what I have done thusfar.
My httpd.conf file:
#
# **********************
# ** MOD PERL CHANGES **
# **********************
# limit POSTS so that they get processed properly
<Limit POST>
PerlInitHandler POST2GET
</Limit>
# force reloading of modules on restart
PerlFreshRestart on
# Perl module primitive mother load on start/restart
#PerlRequire lib/perl/startup.pl
# FLOE application (mod_perl)
PerlModule Apache::DBI
PerlModule floeApp
<Location /floeApp>
SetHandler perl-script
PerlHandler floeApp
PerlSendHeader On
</Location>
And the relevant two snippets of code from the script are:
## process incoming
# if submitted
my %hash = undef;
my $initialList = $q->param('initialList') || '';
my $upload = $q->upload || undef;
my $fh = $upload->fh if defined($upload);
if (defined($upload) && $upload) {
$initialList = '';
while (<$fh>) {
$initialList .= $_;
}
}
## some processing is done to the POST'ed data
## and eventually. . .
## send file to client
print "Content-type: text/plain\n";
print "Content-Disposition: attachment;
filename=list.txt\n\n";
foreach my $value (sort keys %$hash) {
chomp($value);
next unless ($value);
print "$hash->{$value}$CRLF$value$CRLF";
}
exit;
$q is the Apache::Request object. When running in CGI mode it is simply
pointing toward the CGI.pm object.
I did not mean to presume Apache was doing anything to anything.
Apache::Request does not seem to appear to support/handle multipart in my
present config. I do not know why. All I have changed in my code is to use
Apache::Request instead of CGI. Otherwise, the scripts are untouched.
Same machine, same httpd.conf other the mod_perl changes, same scripts. . .
.then why cannot I not see anything being passed via multipart/form-data
encoding?
: -----Original Message-----
: From: Issac Goldstand [mailto:[EMAIL PROTECTED]]
: Sent: Monday, March 18, 2002 9:37 AM
: To: Vuillemot, Ward W
: Cc: [EMAIL PROTECTED]
: Subject: Re: mod_perl does not see multipart POSTs
:
:
: I'm not sure I understand what you're asking... Apache,
: on it's own,
: does not support any internal parsing of POST data, multipart or
: otherwise, so why should mod_perl? For this, we have the
: Apache::Request library in mod_perl (Which is the
: mod_perl interface to
: the libapreq library for Apache's C API). libapreq supports
: multipart/form-data, even without a file upload...
:
: Issac
:
: Vuillemot, Ward W wrote:
:
: >All,
: >
: >I am still trying to figure out why my setup of mod_perl
: does not have
: >multipart POSTs. I rebooted my machine, and found that,
: whereas I reported
: >before mod_perl would try to reload the page (which it
: should not but send
: >out a text/plain attachment for download), it appears
: the script (running as
: >a perl handler) does not see any of the multipart POST.
: Vanilla posts are
: >not a problem, though. Even if the information being
: sent via multipart is
: >_not_ a file to upload to the server, the information is
: lost in transit.
: >
: >Here is what is odd.
: >
: >The same scripts/modules unmodified and running as
: perl_cgi are okay.
: >Multipart forms allow me to upload files, et cetera. In
: short, I am
: >confident the problem is not with my programming.
: >
: >I am using the code snippet, POST2GET, to capture the
: one-time read of POST
: >and storing as if it was retrieved via GET.
: >
: >Any ideas how to debug this?
: >
: >I REALLY REALLY would love some feedback. I would love
: to think that all my
: >effort to stay away from M$ ASP are worth it -- esp.
: when I stand up to
: >defend Perl, Apache, and mod_perl in an environment that
: is decidely
: >M$-bent.
: >
: >Thanks!
: >Ward
: >
:
:
: