I'm running mod_perl 1.21, Apache 1.39 on Solaris 2.5.1.

I'm using the proxy example from pp. 374-381 of the "Writing Apache Modules"
book, and I've come up with a strange case in handling a POST request in the
following part of the code (explained on page 377).  Here's my doctored
version of the code snippet:

 # Copy POST data, if any
  if ($r->method eq 'POST') {
    $log->debug("Posting!");
    my $len = $r->header_in('Content-length');
    $log->debug("Got the content length for POSTing: $len");
    my $buf;
    $r->read($buf,$len);
    $log->debug("Read the content for POSTing into a buffer");
    $request->content($buf);
    $log->debug("Copied POSTed data into the LWP request");
  }

Turns out that this code hangs (just for this particular POST) at the
$r->read($buf,$len) for a few minutes, then I get the
"Apache->read timed out" message in the Apache error log.

Any ideas in what I could look for in the URI or the headers that might give
me a clue on why this is happening or how I could debug this?  Since the
Content-length is greater than 0, I can't imagine why this would time out!
I'm sure this is a special case, since most POSTs work just fine with this
code.

Gordon Marler
AT&T Wireless Services, WLTG
Unix System Architect
[EMAIL PROTECTED]
Phone: 425 702 2980
FAX:     425 702 2568

Reply via email to