/
eb
/
nodejs-screencast
Обзор
Документация
Войти
/
eb
/
nodejs-screencast
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
streams-2-net/2/pipe.js
37 строк
722 B
Ilya Kantor
more code
21 авг 2013, 09:52
21 авг 2013, 09:52
43edeb8
Код
Авторство
О чём код?
var http = require('http'); var fs = require('fs'); new http.Server(function(req, res) { // res instanceof http.ServerResponse < stream.Writable if (req.url == '/big.html') { var file = new fs.ReadStream('big.html'); sendFile(file, res); } }).listen(3000); function sendFile(file, res) { file.on('readable', write); function write() { var fileContent = file.read(); // считать if (fileContent && !res.write(fileContent)) { // отправить file.removeListener('readable', write); res.once('drain', function() { // подождать file.on('readable', write); write(); }); } } file.on('end', function() { res.end(); }); }