Alright. In some more fiddling, it appears that even after setting the ENV{CONTENT_TYPE} correctly with the following lines:

   my $post_content = $r->content;
   my ($boundary) = split(/\n/, $post_content); chop($boundary);
   $ENV{'CONTENT_TYPE'} = $r->content_type . "; boundary=$boundary";

that section of code (repeated here):

  if ($meth eq 'POST'
       && defined($ENV{'CONTENT_TYPE'})
       && $ENV{'CONTENT_TYPE'}=~m|^multipart/form-data|
       && !defined($initializer)
        ) {

    my($boundary) = $ENV{'CONTENT_TYPE'} =~ /boundary=\"?([^\";,]+)\"?/;
    $self->read_multipart($boundary,$content_length);
    last METHOD;
  }

is not getting called because the $initializer has already been defined. Likewise, $meth seems to be blank. $meth is defined by $ENV{REQUEST_METHOD}, so I've got to set that now too [1]:

$ENV{'REQUEST_METHOD'} = $r->method;

but, I know little about $initializer. When is that undefined?
Still investigating. Trudging on and on. Sigh. It's gotta be
simpler than this, and I'm just a moron.

[1] Is there a list of environment variables that a webserver is
    *supposed* to set? Has anyone *ever* used CGI.pm and HTTP::
    Daemon together with multi-part forms?

--
Morbus Iff ( i put the demon back in codemonkey )
Culture: http://www.disobey.com/ and http://www.gamegrene.com/
Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom
icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus



Reply via email to