Middleware that processes images according to the query
string. Intended to be used in a development setting with the
connect.static middleware, but should work with any middleware
further down the stack, even an http proxy.
Important note: This module is intended for development. You're strongly discouraged from using it in production or with any kind of untrusted input. Parts of the query string will be passed directly to various command line tools.
The response will be be processed under these circumstances:
express-processimage plays nice with conditional GET. If the
original response has an ETag,
express-processimage will add to it
so the ETag of the processed image never clashes with the original
ETag. That prevents the middleware issuing the original response from
being confused into sending a false positive
304 Not Modified if
express-processimage is turned off or removed from the stack later.
Multiple tools can be applied to the same image (separated by
the order is significant). Arguments for the individual tools are
separated by non-URL encoded comma or plus.
http://localhost:1337/myImage.png?pngcrush=-rem,alla http://localhost:1337/myImage.png?pngcrush=-rem+alla http://localhost:1337/myImage.png?optipng=-o7 http://localhost:1337/bigImage.png?resize=400,300&pngquant=128&pngcrush http://localhost:1337/hello.png?setFormat=gif http://localhost:1337/logo.svg?inkscape http://localhost:1337/file.svg?svgfilter=--runScript=makeItBlue.js
Make sure you have node.js and npm installed, then run:
npm install express-processimage
Express 3.0 syntax:
var express =processImage =root = '/path/to/my/static/files';;
root option is used by node-svgfilter
3-clause BSD license -- see the
LICENSE file for details.