App-revealup
view release on metacpan or search on metacpan
lib/App/revealup/cli/serve.pm view on Meta::CPAN
}
$path = path('.', $env->{PATH_INFO});
return App::revealup::util::path_to_res($path) if $path->exists;
my $reveal_dir = App::revealup::util::share_path([qw/share/]);
$path = $reveal_dir->child($env->{PATH_INFO});
return App::revealup::util::path_to_res($path) if $path->exists;
App::revealup::util::warn("$path does not exist");
return [
404,
['Content-Type' => 'text/plain'],
['Not Found']
];
};
}
1;
__END__
lib/App/revealup/util.pm view on Meta::CPAN
sub path_to_res {
my $path = shift;
if( $path && $path->exists ) {
my $c = $path->slurp_raw();
my $meta = ['Content-Length' => length $c ];
if( my $mime = MIME::Types->new->mimeTypeOf($path->basename) ){
push @$meta, ('Content-Type' => $mime->type );
}
return [200, $meta , [$c]];
}
return [404, [], ['not found.']];
}
sub share_path {
my $p = shift;
die "Parameter must be ARRAY ref" unless ref $p eq 'ARRAY';
my $path = path(@$p);
return $path if $path->exists();
shift @$p;
my $dist_dir = dist_dir('App-revealup');
return path($dist_dir, @$p);
( run in 2.045 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )