Matt Christian <[EMAIL PROTECTED]> writes:

> > This patch kills the Content-Length both for the request itself and
> > for the multipart/* parts.  I think only the later is what you really
> > want.
> >
> > I think the better fix is to simply remove the content-length for the
> > parts.  There is probably nothing that really requires them, even
> > though they ought to be harmless.
> 
> Yes, that was on purpose.  The broken web server I need to interact with
> doesn't understand Content-Length for the request or multipart/* parts.
> If I send *any* Content-Length headers, it dies with a 5xx error.

But the Content-Length header for the request itself will be added by
the protocol handler if the request does not have any.  It means that
not adding the Content-Length to the request itself should make no
difference for the server.

> > I don't want really want to introduce yet another ugly global.
> 
> I don't like the ugly global either so I'm open to suggestions on how to
> better handle it.  Maybe add another option to
> LWP::UserAgent->new(%options) ?  Would that be preferred?

No.  POST() can be called without using LWP::UserAgent at all.

> What are the chances of a (possibly modified) version of my patch making
> it into libwww-perl proper?  I'm open to suggestions...

I'm willing to apply the following patch if you can confirm that it
fixes your problem.

Index: lib/HTTP/Request/Common.pm
===================================================================
RCS file: /cvsroot/libwww-perl/lwp5/lib/HTTP/Request/Common.pm,v
retrieving revision 1.22
diff -u -p -r1.22 Common.pm
--- lib/HTTP/Request/Common.pm  23 Oct 2003 19:11:32 -0000      1.22
+++ lib/HTTP/Request/Common.pm  3 Jun 2004 13:31:05 -0000
@@ -152,7 +152,6 @@ sub form_data   # RFC1867
                    local($/) = undef; # slurp files
                    $content = <$fh>;
                    close($fh);
-                   $h->header("Content-Length" => length($content));
                }
                unless ($ct) {
                    require LWP::MediaTypes;


Regards,
Gisle

Reply via email to