node.js Erro - lança novo TypeError ('primeiro argumento deve ser uma string ou Buffer');
Eu estou tentando implementar um programa de adição básica em node.js que aceita 2 números através da URL (GET Request) adiciona-os juntos e dá o resultado.
var http = require("http"); var url1 = require("url"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); var path = url1.parse(request.url).pathname; if(path == "/addition") { console.log("Request for add recieved\n"); var urlObj = url1.parse(request.url, true); var number1 = urlObj.query["var"]; var number2 = urlObj.query["var2"]; var num3 = parseInt(number2); var num4 = parseInt(number1); var tot = num3 + num4; response.write(tot); response.write(number1 + number2); } else { response.write("Invalid Request\n"); } response.end(); }).listen(8889); console.log("Server started.");
Quando eu corro, estou recebendo mensagem 'Server started' no console. Mas quando eu pedir o URL
`http://localhost:8889/addition?var=1&var2=20`
Estou recebendo o seguinte erro:
http.js: 593 lança novo TypeError ('primeiro argumento deve ser uma string ou Buffer');
Quando eu comento a linha que exibe a variável 'tot', o código está rodando, e a saída que obtenho é o valor concatenado dos dois parâmetros get que eu passo. Nesse caso, é 1 + 20 = 120. Não consigo converter os dados em formato numérico.
Onde está o erro no código? E o que a mensagem de erro significa basicamente?
Muito obrigado antecipadamente.