github.com/slspeek/camlistore_namedsearch@v0.0.0-20140519202248-ed6f70f7721a/server/sigserver/client.pl (about) 1 #!/usr/bin/perl 2 3 use strict; 4 use LWP::UserAgent; 5 use HTTP::Request; 6 use HTTP::Request::Common; 7 use Getopt::Long; 8 9 my $keyid = "26F5ABDA"; 10 my $server = "http://localhost:2856"; 11 GetOptions("keyid=s" => \$keyid, 12 "server=s" => \$server) 13 or usage(); 14 15 $server =~ s!/$!!; 16 17 my $file = shift or usage(); 18 -f $file or usage("$file isn't a file"); 19 20 my $json = do { undef $/; open(my $fh, $file); <$fh> }; 21 22 sub usage { 23 my $err = shift; 24 if ($err) { 25 print STDERR "Error: $err\n"; 26 } 27 print STDERR "Usage: client.pl [OPTS] <file.json>\n"; 28 print STDERR "Options:\n"; 29 print STDERR " --keyid=<keyid>\n"; 30 print STDERR " --server=http://host:port\n"; 31 exit(1); 32 } 33 34 my $req = POST("$server/camli/sig/sign", 35 "Authorization" => "Basic dGVzdDp0ZXN0", # test:test 36 Content => { 37 "json" => $json, 38 "keyid" => $keyid, 39 }); 40 41 my $ua = LWP::UserAgent->new; 42 my $res = $ua->request($req); 43 unless ($res->is_success) { 44 die "Failure: " . $res->status_line . ": " . $res->content; 45 } 46 47 print $res->content; 48 49 50