]> git.donarmstrong.com Git - debbugs.git/blobdiff - cgi/libravatar.cgi
Drop unused my $vars
[debbugs.git] / cgi / libravatar.cgi
old mode 100644 (file)
new mode 100755 (executable)
index 5fcd834..33aa90a
@@ -6,16 +6,13 @@ use strict;
 use Debbugs::Config qw(:config);
 use Debbugs::CGI qw(cgi_parameters);
 use Debbugs::Common;
-use Digest::MD5 qw(md5_hex);
 use File::LibMagic;
-use File::Temp qw(tempfile);
+use Debbugs::Libravatar qw(:libravatar);
 
 use Libravatar::URL;
 
-use LWP::UserAgent;
-use HTTP::Request;
-
 use CGI::Simple;
+use Cwd qw(abs_path);
 
 my $q = CGI::Simple->new();
 
@@ -32,16 +29,14 @@ if ($param{avatar} ne 'yes' or not defined $param{email} or not length $param{em
     exit 0;
 }
 
-# figure out what the md5sum of the e-mail is.
-my $email_md5sum = md5_hex(lc($param{email}));
-my $cache_location = cache_location($email_md5sum);
+my ($cache_location, $is_valid) = cache_location(email => lc($param{email}));
 # if we've got it, and it's less than one hour old, return it.
-if (cache_valid($cache_location)) {
+if ($is_valid) {
     serve_cache($cache_location,$q);
     exit 0;
 }
 # if we don't have it, get it, and store it in the cache
-$cache_location = retreive_libravatar(location => $cache_location,
+$cache_location = retrieve_libravatar(location => $cache_location,
                                       email => lc($param{email}),
                                      );
 if (not defined $cache_location) {
@@ -61,21 +56,21 @@ sub serve_cache {
         $cache_location = $config{libravatar_default_image};
     }
     my $fh = IO::File->new($cache_location,'r') or
-        error(404, "Failed to open cached image $cache_location");
+        error($q,404, "Failed to open cached image $cache_location");
     my $m = File::LibMagic->new() or
-        error(500,'Unable to create File::LibMagic object');
-    my $mime_string = $m->checktype_filename($cache_location) or
-        error(500,'Bad file; no mime known');
+        error($q,500,'Unable to create File::LibMagic object');
+    my $mime_string = $m->checktype_filename(abs_path($cache_location)) or
+        error($q,500,'Bad file; no mime known');
     print $q->header(-type => $mime_string,
                      -expires => '+1d',
                     );
-    print STDOUT <$fh>;
+    print <$fh>;
     close($fh);
 }
 
 
 sub error {
-    my ($error,$text) = @_;
+    my ($q,$error,$text) = @_;
     $text //= '';
     print $q->header(-status => $error);
     print "<h2>$error: $text</h2>";