meteor-rest icon indicating copy to clipboard operation
meteor-rest copied to clipboard

[Docs] expand middleware example

Open lorensr opened this issue 9 years ago • 1 comments

https://github.com/stubailo/meteor-rest/tree/devel/packages/json-routes#adding-middleware

If I wanted compression, in connect I would do:

var app = connect()

// gzip/deflate outgoing responses
var compression = require('compression')
app.use(compression())

It would be helpful if the README said:

  1. how to do the above using the JsonRoutes.Middleware.use syntax
  2. how to get https://www.npmjs.com/package/compression included in my Meteor app

lorensr avatar Dec 23 '15 05:12 lorensr

I will post a quick answer here and maybe someone can submit it as a nicely formatted docs PR.

In Meteor 1.3 (beta is available), you would just require/import the compression package directly, same as a node app. In current Meteor, you would need a small wrapper package in /packages that does Npm.depends({compression: '1.6.0'}) in the package.js file, has a single server code file with compression = Npm.require('compression'), and then exports the compression global var.

Then:

JsonRoutes.Middleware.use(compression());
// OR
JsonRoutes.Middleware.use('/one_route', compression());

aldeed avatar Jan 06 '16 21:01 aldeed