function listen()

in nodejs-example-logs-api-extension/nodejs-example-logs-api-extension/http-listener.js [3:35]


function listen(address, port) {
    const logsQueue = [];
    // init HTTP server for the Logs API subscription
    const server = http.createServer(function(request, response) {
        if (request.method == 'POST') {
            var body = '';
            request.on('data', function(data) {
                body += data;
            });
            request.on('end', function() {
                console.log('Logs listener received: ' + body);
                try {
                    let batch = JSON.parse(body);
                    if (batch.length > 0) {
                        logsQueue.push( ...batch );
                    }
                } catch(e) { 
                    console.log("failed to parse logs"); 
                }
                response.writeHead(200, {})
                response.end("OK")
            });
        } else {
            console.log('GET');
            response.writeHead(200, {});
            response.end("OK");
        }
    });
    
    server.listen(port, address);
    console.log(`Listening for logs at http://${address}:${port}`);
    return { logsQueue, server };
}