vn-docker/cdn/rwmap.pl

27 lines
657 B
Perl
Executable File

#!/usr/bin/perl
use strict;
use warnings;
use Digest::SHA qw(sha1_hex);
# Desactiva el buffering de salida para que Apache pueda obtener la respuesta inmediatamente
$| = 1;
while (<STDIN>) {
chomp;
my $input = $_;
$input =~ /^\/image\/(.*)\/([a-z0-9-_]+)\.(png)$/;
my $collection = $1;
my $name = $2;
my $extension = $3;
my $sha1 = sha1_hex($name);
my $first = substr($sha1, 0, 2);
my $last = substr($sha1, 1, 2);
my $newPath = "images/$collection/$first/$last/$name.$extension";
if (-e "/usr/local/apache2/htdocs/$newPath") {
print "/$newPath\n";
} else {
print "/image/$input\n";
}
}