|
NAMEPlack::Middleware::Precompressed - serve pre-gzipped content to compression-enabled clientsVERSIONversion 1.103SYNOPSISuse Plack::Builder; builder { enable 'Precompressed', match => qr!\.js\z!; $handler; }; DESCRIPTIONPlack::Middleware::Precompressed is an alternative (or rather, complement) to middlewares like Deflater, which will compress response bodies on the fly. For dynamic resources, that behaviour is necessary, but for static resources it is a waste: identical entities will be compressed over and over. Instead, Precompressed allows you to compress static resources once, e.g. as part of your build process, and then serve the compressed resource in place of the uncompressed one for compression-enabled clients.To do so, by default it appends a ".gz" suffix to the "PATH_INFO" and tries to serve that. If that fails, it will then try again with the unmodified URI. Note: this means requests for resources that are not pre-compressed will always be dispatched twice. You are are advised to use either the "match" parameter or the Conditional middleware or something of the sort, to prevent requests from passing through this middleware unnecessarily. CONFIGURATION OPTIONS
SUBCLASSINGIf you reuse a particular configuration of Plack::Middleware::Precompressed in many projects, you can avoid repeating the same configuration in each of them by subclassing this middleware and overriding the "rewrite" and "env_keys" methods.The "rewrite" method will be called just as the "rules" callback would be. The "env_keys" method should return an array reference and will have the same effect on the "rewrite" method as the configuration option on the "rules" callback. SEE ALSOPlack::Middleware::DeflaterAUTHORAristotle Pagaltzis <pagaltzis@gmx.de>COPYRIGHT AND LICENSEThis software is copyright (c) 2015 by Aristotle Pagaltzis.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Visit the GSP FreeBSD Man Page Interface. |