cgs

connect-gzip-static

connect middleware for statically compressed files

Showing:

Popularity

Downloads/wk

4.5K

GitHub Stars

41

Maintenance

Last Commit

4yrs ago

Contributors

6

Package

Dependencies

5

Size (min+gzip)

22.1KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

NPM version Build Status Dependency Status

connect-gzip-static

Middleware for connect: serves compressed files if they exist, falls through to connect-static if they don't, or if browser does not send 'Accept-Encoding' header.

You should use connect-gzip-static if your build process already creates compressed (using gzip or brotli) files. If you want to compress your data on the fly use compression middleware. And if you want to compress your files dynamically you may want to look up connect gzip.

Installation

  $ npm install connect-gzip-static

Options

gzip-static is meant to be a drop in replacement for connect static middleware. Use the same options as you would with connect static.

Usage

var gzipStatic = require('connect-gzip-static');
var oneDay = 86400000;

connect()
  .use(gzipStatic(__dirname + '/public'))

connect()
  .use(gzipStatic(__dirname + '/public', { maxAge: oneDay }))

How it works

We start by locating all compressed files (ie. files with .gz and .br extensions) in root directory. All HTTP GET and HTTP HEAD requests with Accept-Encoding header set to gzip are checked against the list of compressed files and, if possible, fulfilled by returning the compressed versions. If compressed version is not found or if the request does not have an appropriate Accept- Encoding header, the request is processed in the same way as standard static middleware would handle it.

Debugging

This project uses debug module. To enable the debug log, just set the debug enviromental variable:

DEBUG="connect:gzip-static"

License

MIT © Damian Krzeminski

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial