3
respostas

Problema com o servidor

boa noite. Meu programa consegue rodar sem problema porem o servidor da crash logo depois da aplicação. Preciso de ajuda.

module.exports = function(app){

  app.get('/pagamentos',function(req,res){
  console.log('Recebida requisicao de teste na porta 3000.')
  res.send('Deu certo!.');
});

app.post('/pagamentos/pagamento', function(req,res){

  var pagamento = req.body;
  console.log('processando uma requisicao de um novo pagamento');

  pagamento.status = "CRIADO";
  pagamento.data = new Date;

  var connection = app.persistencia.connectionFactory();
  var pagamentoDao = new app.persistencia.PagamentoDao(connection);

  pagamentoDao.salva(pagamento, function(erro){
    console.log('pagamento criado')
    res.json(pagamento);
  })
  res.send(pagamento);
});

}

var express = require('express'); var consign = require('consign'); var bodyParser = require('body-parser');

module.exports = function(){ var app = express();

app.use(bodyParser.urlencoded({extende:true}));
app.use(bodyParser.json());

consign()
   .include('controllers')
   .then('persistencia')
   .into(app);

return app;

}

3 respostas

Boa noite, Milton! Como vai?

Algum log de erro aparece no termial onde vc está rodando a aplicação quando esse problema ocorre? Se sim, poderia colar o log aqui para eu dar uma olhada e tentar te ajudar?

Grande abraço e bons estudos, meu aluno!

Servidor rodando na porta 3000 processando uma requisicao de um novo pagamento pagamento criado httpoutgoing.js:470 throw new ERR_HTTP_HEADERS_SENT('set'); ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (httpoutgoing.js:470:11) at ServerResponse.header (C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\express\lib\response.js:767:10) at ServerResponse.send (C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\express\lib\response.js:170:12) at ServerResponse.json (C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\express\lib\response.js:267:15) at Query. (C:\Users\Raphael\Desktop\Mrk\teste\payfast\controllers\pagamentos.js:21:13) at Query. (C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\mysql\lib\Connection.js:525:10) at Query.callback (C:\Users\Raphael\Desktop\Mrk\teste\payfast\nodemodules\mysql\lib\Connection.js:491:16) at Query.Sequence.end (C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at C:\Users\Raphael\Desktop\Mrk\teste\payfast\node_modules\mysql\lib\protocol\Protocol.js:404:18 at Array.forEach () [nodemon] app crashed - waiting for file changes before starting...

Opa, Milton! Tudo certo?

Se vc observar no log de erro, logo de cara aparecem as mensagens

processando uma requisicao de um novo pagamento pagamento criado

Ou seja, o seu código conseguiu executar até a linha onde vc faz console.log('pagamento criado')!

Minha suspeita é que está ocorrendo algum erro na operação de persistência dos seus dados no BD!

Pergunta: vc já verificou se os dados são persistidos com sucesso no BD?

Outra coisa, experimente fazer um console.log(erro) para verificar se houve algum problema na comunicação com o BD! Deixe o seu código assim e depois, por favor, mande o resultado completo do log aqui no fórum pra eu poder dar uma olhada!

pagamentoDao.salva(pagamento, function(erro, resultado){
    console.log('pagamento criado');
    console.log(erro);
    res.json(pagamento);
});

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!