1 package LWP::Authen::Basic;
8 my($class, $ua, $proxy, $auth_param, $response,
9 $request, $arg, $size) = @_;
11 my($user, $pass) = $ua->get_basic_credentials($auth_param->{realm},
12 $request->url, $proxy);
13 return $response unless defined $user and defined $pass;
15 my $auth_header = $proxy ? "Proxy-Authorization" : "Authorization";
16 my $auth_value = "Basic " . MIME::Base64::encode("$user:$pass", "");
18 # Need to check this isn't a repeated fail!
21 my $auth = $r->request->header($auth_header);
22 if ($auth && $auth eq $auth_value) {
23 # here we know this failed before
24 $response->header("Client-Warning" =>
25 "Credentials for '$user' failed before");
31 my $referral = $request->clone;
32 $referral->header($auth_header => $auth_value);
33 return $ua->request($referral, $arg, $size, $response);