Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao configurar Content Negotiation - connect ECONNREFUSED ->in nodejs

Eu uso Linux e a versão do nodejs é 6.3.0

Estava configurando o content negotiation

O seguinte erro ocorreu quando eu tentava subir o cliente-android.jscomando nodejs cliente-android.js

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: connect ECONNREFUSED 127.0.0.1:3000
    at Object.exports._errnoException (util.js:1008:11)
    at exports._exceptionWithHostPort (util.js:1031:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)

Meu arquivo cliente-android.js

var http = require('http');

var configs = {
    hostname: 'localhost',
    port: 3000,
    path: '/produtos',
    headers: {
        'Accept': 'application/json',
                 }
};

http.get(configs, function(res){
    console.log(res.statusCode);
    res.on('data', function(body) {
        console.log('Corpo'+body);
    });
});

Meu arquivo produtos.js

module.exports = function(app) {

    var listaProdutos = function(req, res) {
        var connection = app.infra.connectionFactory();
        var produtosDAO = new app.infra.ProdutosDAO(connection);
        produtosDAO.lista(function(err, results) {
             res.render("produtos/lista",{lista:results});
              res.format({
                html: function(){
                    res.render("produtos/lista",{lista:results});
                },
                json: function(){
                    res.json(results);
                }
            });
        });
        connection.end();
    };


    app.get('/produtos', listaProdutos);

    app.get('/produtos/form', function(req, res) {
        res.render('produtos/form')
    });

    app.post('/produtos', function(req, res) {
        var produto = req.body;
        var connection = app.infra.connectionFactory();
        var produtosDAO = new app.infra.ProdutosDAO(connection);
        produtosDAO.salva(produto, function(erros, result){
            res.redirect('/produtos');

        });
    });
}

Já tentei segur um procedimento de trocar no json configs o hostname pelo meu IP mas não fuincionou .

3 respostas
solução!

Oi Jéssica,

Pela exception, eu acho que faltou vc subir o servidor.

Pô Mestre obrigada <3, era isso mesmo, meu app.js estava derrubado. :) tudo certo agora

Jessica, além do server que não estava no ar, ainda tem algumas coisas que eu vi no codigo que você postou.

Arquivo cliente-android.js - Tem uma virgula sobrando nos parâmetros do header

headers: {
        'Accept': 'application/json',
                 }

Arquivo produtos.js - Esta sobrando uma instrução de render no método lista, logo a primeira instrução

produtosDAO.lista(function(err, results) {
             res.render("produtos/lista",{lista:results});
              res.format({
                html: function(){
                    res.render("produtos/lista",{lista:results});
                },
                json: function(){
                    res.json(results);
                }
            });
        });