Rodent of Unusual Size <[EMAIL PROTECTED]> writes:

> When I try the (LWP 5.62) HEAD shortcut against an SSL site:
> 
>   HEAD https://foohost/
> 
> I get '501 Protocol scheme 'https' is not supported'.  If I do

This works when you have installed some SSL module, like Crypt-SSLeay.

>   HEAD -SsUe https://foohost/
> 
> I get "Can't call method "url" on an undefined value at
> /path/HEAD line 415."

This is a bug.  This is a fix:

Index: lib/LWP/UserAgent.pm
===================================================================
RCS file: /cvsroot/libwww-perl/lwp5/lib/LWP/UserAgent.pm,v
retrieving revision 2.0
retrieving revision 2.1
diff -u -r2.0 -r2.1
--- lib/LWP/UserAgent.pm        2001/11/19 16:55:54     2.0
+++ lib/LWP/UserAgent.pm        2001/12/11 21:11:29     2.1
@@ -1,4 +1,4 @@
-# $Id: UserAgent.pm,v 2.0 2001/11/19 16:55:54 gisle Exp $
+# $Id: UserAgent.pm,v 2.1 2001/12/11 21:11:29 gisle Exp $
 
 package LWP::UserAgent;
 use strict;
@@ -103,7 +103,7 @@
 
 require LWP::MemberMixin;
 @ISA = qw(LWP::MemberMixin);
-$VERSION = sprintf("%d.%03d", q$Revision: 2.0 $ =~ /(\d+)\.(\d+)/);
+$VERSION = sprintf("%d.%03d", q$Revision: 2.1 $ =~ /(\d+)\.(\d+)/);
 
 use HTTP::Request ();
 use HTTP::Response ();
@@ -284,11 +284,11 @@
     local($SIG{__DIE__});  # protect agains user defined die handlers
 
     # Check that we have a METHOD and a URL first
-    return HTTP::Response->new(&HTTP::Status::RC_BAD_REQUEST, "Method missing")
+    return _new_response($request, &HTTP::Status::RC_BAD_REQUEST, "Method missing")
        unless $method;
-    return HTTP::Response->new(&HTTP::Status::RC_BAD_REQUEST, "URL missing")
+    return _new_response($request, &HTTP::Status::RC_BAD_REQUEST, "URL missing")
        unless $url;
-    return HTTP::Response->new(&HTTP::Status::RC_BAD_REQUEST, "URL must be absolute")
+    return _new_response($request, &HTTP::Status::RC_BAD_REQUEST, "URL must be 
+absolute")
        unless $url->scheme;
 
     LWP::Debug::trace("$method $url");
@@ -332,8 +332,7 @@
       $protocol = eval { LWP::Protocol::create($scheme, $self) };
       if ($@) {
        $@ =~ s/ at .* line \d+.*//s;  # remove file/line number
-
-       return HTTP::Response->new(&HTTP::Status::RC_NOT_IMPLEMENTED, $@);
+       return _new_response($request, &HTTP::Status::RC_NOT_IMPLEMENTED, $@);
       }
     }
 
@@ -1123,6 +1122,14 @@
     }
     LWP::Debug::debug('Not proxied');
     undef;
+}
+
+sub _new_response {
+    my($request, $code, $message) = @_;
+    my $response = HTTP::Response->new($code, $message);
+    $response->request($request);
+    $response->header("Client-Date" => HTTP::Date::time2str(time));
+    return $response;
 }
 
 1;

Reply via email to