How it works
This is a simple service that only takes a url and returns the rendered HTML (with all script tags removed).
Note: you should proxy the request through your server (using middleware) so that any relative links to CSS/images/etc still work.
You can enable the Redis feature by setting the REDISTOGO_URL, REDISCLOUD_URL, REDISGREEN_URL or REDIS_URL (in the format redis://user:password@host:port). This currently covers all heroku add-ons for Redis to support quick start.
A GET request will check S3 for a cached copy. If a cached copy is found, it will return that. Otherwise, it will make the request to your server and then persist the HTML to the S3 cache.
A POST request will skip the S3 cache. It will make a request to your server and then persist the HTML to the S3 cache. The POST is meant to update the cache.
You'll need to sign up with Amazon Web Services and export these 3 environment variables.
$ export AWS_ACCESS_KEY_ID=<aws access key>
$ export AWS_SECRET_ACCESS_KEY=<aws secret access key>
$ export S3_BUCKET_NAME=<bucket name>
Warning! Your keys should be kept private and you'll be charged for all files uploaded to S3.
By default, s3HtmlCache works with the US Standard region (East), if your bucket is localised in another region you can config it with an environment variable : AWS_REGION.
$ export AWS_REGION=<region name>
For example :
$ export AWS_REGION=eu-west-1