I’m trying to serve all static files (js, css, images) from a CDN instead of the /static folder. I started writing my own sub to rewrite image URLs:
sub uri_for_image {
my ( $c, $path, @args ) = @_;
my $uri = $c->uri_for($path, @args);
if (MyApp->config->{use_cdn}) {
my $cdn = MyApp->config->{cdn_location};
$uri = $path;
$uri =~ s/^/$cdn/si;
}
return $uri;
}
But then I realized its gonna take a lot more work to get all the static files rerouted automatically. How should I go about setting a CDN url for static files?
I was looking into configuring Static::Simple but it seems to only have settings for location of files locally.
What do you think Catalyst actually can and should do for you here?
I’m afraid if you want to generate your own links which are outside the app, then you’re pretty much on your own—there isn’t anything Catalyst can really do or provide to help you here, is there?
Or do you just want
uri_forto smash all paths starting in/staticto point your CDN? As you can just wrapuri_forand make it do that?I think your version (having a separate method) is cleaner and neater, but if all your static content is going onto the CDN, then just giving
uri_forthe behavior you want is reasonable.