Streams part 2

Another example on Streams

Here I am making a http server where I am asking client for uploading some file, and the putting the response (piping into the writeStream) into the output file.

Example:


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

var server = http.createServer(function(req, res) {

    var url = req.url;
    var method = req.method;

    if (url == '/' && method == 'GET')// we are dispatching a page
    {
        var page = fs.readFileSync('upld.html');
        res.writeHead(200, { // writing this is important otherwise the html file content is going to be rendered as text/plain
            'Content-Type': 'text/html'
        });
        res.end(page);
    } else if (url == '/upload' && method == 'POST')
    {
        var writeStream = fs.createWriteStream('./output');

        // this pipes post data to the file
        req.pipe(writeStream);// whatever is there in request object we are going to pipe it in the writeStream
        req.on('end', function() {
            res.end('OK');
        });
    } else
    {
        res.end('Try loading http://localhost:8000');
    }

});

server.listen(8000);

console.log('server is connected at ', 8000);