Include connection keep-alive
[mod_auth_kerb.git] / test / gssweb_client.pl
index fc08ae7..48dab76 100755 (executable)
@@ -2,6 +2,7 @@
 
 use strict;
 use WWW::Mechanize;
+    use LWP::ConnCache;
 use GSSAPI;
 use GSSAPI::OID;
 use MIME::Base64;
@@ -10,10 +11,11 @@ use URI::Encode qw(uri_encode);
 
 sub parse_token($) {
     my ($json) = @_;
+    print $json;
     my $ref = decode_json($json);
-    return $ref->{'gssweb'}{'token'};
+    return decode_base64($ref->{'gssweb'}{'token'});
                }
-
+;
 
 sub token_body($$) {
     my ($target_server, $itoken) = @_;
@@ -48,9 +50,10 @@ sub token_body($$) {
 
 my ($url, $gssname) = @ARGV;
 my $www = WWW::Mechanize->new('autocheck' => 0);
+$www->conn_cache(LWP::ConnCache->new);
 my $done = 0;
 my $response_token = undef;
-unless ($done) {
+   while (!$done) {
 
     $www->post($url, 'Content' => token_body($gssname, $response_token));
     my $status = $www->status();
@@ -66,5 +69,6 @@ unless ($done) {
     } else {
        print "Unexpected response status: $status\n";
        print $www->content();
+             $done = 1;
     }
 }