Catalyst::Plugin::Static::Simpleã§éçã«ãµã¼ããã¦ããpdfã¨ãã®ææ¸ãã¡ã¤ã«ã«(ãã¼ã·ãã¯ã¨ã)ãªããé©å½ãªèªè¨¼ãããããã¦æ©ãã§ãã
ãããããã¡ã¤ã«ã¯Apacheã¨ãã«ä»»ããã°è§£æ±ºãããã ãããã©ãæ®å¿µãªããApacheåãããªãã¨ããã·ãã¥ã¨ã¼ã·ã§ã³ã
æ£ã æ©ãã ãããå¥ã«Static::Simple使ããªãã¦ãããããã¨ãããã¨ã«æ°ã¥ãã¦ãã¾ããããããã«Static::Simpleã®ã½ã¼ã¹ãèªã¿å§ããã
ã©ããFile::Slurpã§ããã¦bodyã«åºåãã¦ããã ãããªãã¨æã£ã¦ããã ãã©éã£ãã
if ( Catalyst->VERSION le '5.33' ) {
# old File::Slurp method
my $content = File::Slurp::read_file( $full_path );
$c->res->body( $content );
}
else {
# new method, pass an IO::File object to body
my $fh = IO::File->new( $full_path, 'r' );
if ( defined $fh ) {
binmode $fh;
$c->res->body( $fh );
}
else {
Catalyst::Exception->throw(
message => "Unable to open $full_path for reading" );
}
}
æè¿ã®ãã¼ã¸ã§ã³ã¯ãã¡ã¤ã«ãã³ãã«ãres->bodyã«æ¸¡ããã®ããIO::Allã¨ãããããã®ããªï¼