On 4 Jan 2009, at 08:48, Trevor Phillips wrote:

I'm working on a Catalyst application, and one of the requirements is to deliver large-ish files to authorised users only. I'm a bit wary about passing through large files in a framework I don't know the intricacies of, since a mishandled large file can explode memory usage of a daemon. However, the usual "let Apache/proxy handle it" solution bypasses the required Authorisation phase.

I'm currently trying to use Catalyst::Plugin::Static::Simple, which has a documented function serve_static_file to serve a static file from a Controller. However, I am getting an error as the TT View is still trying to apply a default template.

Is there an easy way to turn off the TT View, and have the file properly treated as static content in an efficient manner by Static::Simple?

My usual solution to this problem would be to implement Authentication as a mod_perl Access handler over static content, but the host provider won't give access to random mod_perl libs - and I'm quite happy with Catalyst's Auth infrastructure for everything else...

Thanks...


(Not terribly useful to you since I guess you are using Apache, but:) what I'd do here is make use of Lighttpd's X-SendFile response header: http://blog.lighttpd.net/articles/2006/07/02/x-sendfile

I'm sure nginx has something similar, but as far as I'm aware apache doesn't

-ash

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to