You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-dev@httpd.apache.org by Gary Benson <gb...@redhat.com> on 2002/09/10 18:55:27 UTC

POST with no data

Hi all,

I've been trying to write some tests and have been trying to send POST
requests with no body.  It seems that Apache::TestRequest::POST only
adds a Content-Length when the length of the content is nonzero, so
attempts to 'POST "/foo/bar", ""' result in a 411 Length Required from
httpd.

I'm not nearly good enough with Perl to work out where POST is defined;
can anyone point me in the direction of what I need to change to cause a
content-length to be added to all POST requests?

Cheers,
Gary

[ gbenson@redhat.com ][ GnuPG 85A8F78B ][ http://inauspicious.org/ ]

Re: POST with no data

Posted by Doug MacEachern <do...@covalent.net>.
i think lwp does the right thing, but TestRequest.pm does not.
patch below should fix (untested).

--- Apache-Test/lib/Apache/TestRequest.pm       4 Apr 2002 00:54:26 -0000  1.71
+++ Apache-Test/lib/Apache/TestRequest.pm       17 Sep 2002 20:22:38 -0000
@@ -251,7 +251,7 @@
         $credentials{$keep->{realm} || '__ALL__'} =
           [$keep->{username}, $keep->{password}];
     }
-    if (my $content = $keep->{content}) {
+    if (defined(my $content = $keep->{content})) {
         if ($content eq '-') {
             $content = join '', <STDIN>;
         }




Re: POST with no data

Posted by Gary Benson <gb...@redhat.com>.
On Tue, Sep 10, 2002 at 05:55:27PM +0100, Gary Benson wrote:

> I've been trying to write some tests and have been trying to send POST
> requests with no body.  It seems that Apache::TestRequest::POST only
> adds a Content-Length when the length of the content is nonzero, so
> attempts to 'POST "/foo/bar", ""' result in a 411 Length Required from
> httpd.
> 
> I'm not nearly good enough with Perl to work out where POST is defined;
> can anyone point me in the direction of what I need to change to cause a
> content-length to be added to all POST requests?

So I eventually managed to make a workaround for this (attached).  I'm
still not sure if httpd-test is the correct place for the fix or whether
I should be fixing LWP so I won't commit it.

Cheers,
Gary

[ gbenson@redhat.com ][ GnuPG 85A8F78B ][ http://inauspicious.org/ ]