Salam (means Hello) :)
I'm developing a static file server that must support data-encoding: gzip
, the example in zlib
documentation is working fine for me, but I need to save zipped files to disk, to avoid re-compressing for future requests. here is my code, which doesn't work:
http.createServer(function(request, response) {
var url = my_normalizer(request.url);
var acceptEncoding = request.headers['accept-encoding'] || '';
if(acceptEncoding.match(/\bgzip\b/)){
try{
var zipped = fs.createReadStream(url +'.gz');
}catch(e){
var inp = fs.createReadStream(url);
var out = fs.createWriteStream(url+'.gz');
inp.pipe(zlib.createGzip()).pipe(out);
var zipped = fs.createReadStream(url +'.gz');
}
response.writeHead(200, { 'content-encoding': 'gzip' });
zipped.pipe(response);
}
}).listen(80);
and this is the result in firefox:
Content Encoding Error
The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
for what it's worth, a .gz
version of the requested file is correctly generated and saved to disk.