Compression json in nodejs

I have a server in nodejs written using connect. I am exposing some data as json. I have to compress the data before sending. I used the compress function in connect but I am not sure how to check the data if its compressed or not. Below is my code:

var connect = require('connect')
 , http = require('http');

var app = connect()

 .use(connect.compress(console.log("I have compressed data")))

.use(function(req, res){
res.setHeader('Content-Type', 'application/json');
//res.end("store_id: 'S3000981'");

res.end('{"store_id": "S3000990"}');
});
http.createServer(app).listen(3000);

Any idea regarding this will be really helpful.

Run your server, and try this:

curl -H 'Accept-Encoding: gzip' -v localhost:3000 

If you see the following appear, the response is compressed:

< Content-Encoding: gzip

Also, this doesn't do what you think it will, and might have side-effects:

.use(connect.compress(console.log("I have compressed data")))

If you want to log a message from your server when the response data is compressed, try this instead:

.use(connect.compress())
.use(function(req, res, next) {
  res.on('header', function() {
    var encoding = res.getHeader('Content-Encoding') || '';
    if (encoding.indexOf('gzip') != -1 || encoding.indexOf('deflate') != -1)
    {
      console.log("I have compressed data");
    }
  });
  next();
})