[Catalyst] serving static content from one controller?
Ash Berlin
ash_cpan at firemirror.com
Fri Oct 5 08:12:16 GMT 2007
Jonathan Rockway wrote:
> Dustin Suchter wrote:
>> I've looked into "Static::Simple", but I can't find a good
>> manual/tutorial on it. I've tried to guess at how to use it but I
>> pretty much didn't get anywhere.
>
> This is probably not the best idea. It would be better for your
> Catalyst app to inform your web server as to what static page to serve.
> perlbal calls this an "internal redirect", and lighttpd calls it
> "X-SendFile". Please look into those; all your cat app will have to do
> is send an HTTP header with the name of the file, and the web server
> will take care of the rest.
>
> This has come up before, I think, so grep the list archives for more detail.
>
> Failing that, you can always set $c->res->body to a filehandle:
>
> sub send_static :Private {
> my ($self, $c, $filename) = @_;
> open my $fh, '<', $filename or die "failed to open $filename: $!";
> $c->res->body($fh);
> $c->detach;
> }
>
> Hopefully the internal redirects will work out for you, though. Good luck.
>
> Regards,
> Jonathan Rockway
Another option instead of using X-SendFile for lighttpd is to do as I
describe in http://perlitist.com/articles/catalyst-with-lighttpd
If you are using apache and want to achieve something similar with
static files let me know and I can show you the config you'd need to get
the same affect (Apache to serve the static stuff)
-ash
More information about the Catalyst
mailing list