jdrago_999 has asked for the wisdom of the Perl Monks concerning the following question:

Monks -

I see that Apache2::Request has not been updated since August 2006.

Why?

Is it destined to just sit around, collecting dust?

Will it ever support > 100Mb uploads? Not "in theory" but in reality!

Replies are listed 'Best First'.
Re: Is libapreq2 dead?
by perrin (Chancellor) on Oct 29, 2008 at 19:48 UTC
    It has a mailing list and is alive and well. What isn't working for you about large uploads? Have you asked about it on the list?
      Hi -

      I've done several Google searches (which include the mailing list archives) and have come up with this gem: "Re: MP2 Apache2::Request trouble with POST_MAX" Quote:
      Garrison Hoffman wrote:
      > I've tried numerous variations, but can't get POST_MAX to work properly.
      > Everything works fine without it.
      >
      > my $POST_MAX = 1024*1024*10;
      > my $req = Apache2::Request->new($r, POST_MAX => $POST_MAX); >
      > The error log tells me only "Conflicting information", which seems
      > exceedingly unhelpful.
      >
      > Can someone point me in the right direction?

      http://libapreq2.p6m7g8.net/apreq_8h.html#a4
      You might try the httpd.conf configuration directives if you want it for _ALL_ $req objects.

      #define APREQ_DEFAULT_READ_LIMIT (64 * 1024 * 1024) is the default.

      APREQ2_ReadLimit 10485760

      See glue/perl/t/response/TestApReq/request.pm for an example of using the POST_MAX argument.

      The test that the above post refers to (request.pm) contains the following code:
      sub handler { my $r = shift; my $temp_dir = File::Spec->catfile(Apache2::ServerUtil::server_root, 'logs'); my $req = Apache2::Request->new($r, POST_MAX => 1_000_000, TEMP_DIR => $temp_dir);
      Adjusting that 1_000_000 to anything larger than the *hard coded* default in include/apreq.h.

      I've tried seemingly everything (APREQ2_ReadLimit) and have got nowhere.

      I still get the dreaded Content-Length header (1478240097) exceeds configured max_body limit (67108864). Yes I know that's a big file. It happens to be the size of the Wikipedia English snapshot, compressed.

      The word on the street is that setting the read limit very high opens you up to DoS attacks. Makes sense, but I'd still like to know how to move > 1Gb files onto the server, and make it easy for my users.
        You really need to ask on the mailing list. I'm not a libapreq2 developer.
Re: Is libapreq2 dead?
by MidLifeXis (Monsignor) on Oct 29, 2008 at 19:34 UTC

    This is based on just reading the docs, I have not had a chance to dig deeply into using mod_perl / libapreq2 (yet).

    From the documentation and the source, it appears that the module is a wrapper around libapreq2. If the interface / API has not changed from the Apache group, I am not certain that there would need to be a change to the wrapper. At most I would expect a recompile / relink. With a stable API, why would there be a need to update the glue part of the library?

    Can I assume that you have set the MAX_BODY / POST_MAX parameters? It looks like, unless I am missing something, that those settings should allow you to upload larger files. It appears that 1M is the default setting.

    --MidLifeXis

Re: Is libapreq2 dead?
by Anonymous Monk on Oct 30, 2008 at 10:14 UTC
      The humor is appreciated :)