var fs = require('fs'), spdy = require('../../'); var options = { key: fs.readFileSync('keys/spdy-key.pem'), cert: fs.readFileSync('keys/spdy-cert.pem'), ca: fs.readFileSync('keys/spdy-csr.pem') }; var server = spdy.createServer(options, function(req, res) { if (req.url == '/pushed-304.js') { res.writeHead(200, { 'Content-Type': 'text/javascript', 'ETag': '0' }); res.end("document.write('

ran 304-pushed external js');\n"); return; } if (req.url == '/pushed-nothing.js') { res.writeHead(200, { 'Content-Type': 'text/javascript' }); res.end("document.write('

ran normal external js');\n"); return; } if (req.url !== '/') { res.writeHead(404); res.end(); return; } if (!res.push) { res.writeHead(200); res.end("Server Push not supported\n"); return } res.push( '/pushed-304.js', {':status': 304, 'Content-Type': 'text/javascript', 'ETag': '0'}, function(err, stream) { stream.end(); }); res.push( '/pushed-content.js', {'Content-Type': 'text/javascript'}, function(err, stream) { stream.end("document.write('

ran pushed js');\n"); }); res.writeHead(200, {"Content-Type": "text/html"}); res.end('

This page loads external js\n' + '' + '' + ''); }); server.listen(3232, function() { var addr = this.address(); console.log('Server is listening on %s:%d', addr.address, addr.port); });