Executando verificação de segurança...
1

Alguém me ajuda com esse erro (Mongoose "PUT"): Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they ...

Estou tentando fazer "PUT" na minha aplicação usando mongoose, faço GET, POST, DELETE normalmente. Ao tentar editar a operação é feita, mas retorna esse erro:

error - unhandledRejection: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at new NodeError (node:internal/errors:399:5)

Estou usando:

"mongoose": "^7.0.5",
"next": "13.3.0",

essa e a chamada para a api

export async function updateProduct(productId, formData) {
  const Options = {
    method: "PUT",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(formData),
  };

  const response = await fetch(`${baseUrl}api/products/${productId}`, Options);
  const json = await response.json();
  return json;
}

Não sei se posso postar esse tipo de dúvida aqui, mas to tentando.

Carregando publicação patrocinada...
1

Esse erro geralmente ocorre quando o servidor tenta enviar uma resposta para o cliente, mas já enviou uma resposta anteriormente. Isso pode acontecer quando você tenta enviar cabeçalhos HTTP após já ter enviado a resposta.

Para corrigir esse erro, você precisa verificar seu código e encontrar onde ele está tentando enviar uma resposta mais de uma vez. Aqui estão algumas coisas que você pode tentar fazer:

Verifique se o seu código tem mais de uma chamada para a função "res.send()" ou "res.json()". Isso pode estar causando o problema.

Certifique-se de que não há nenhum código que esteja tentando enviar uma resposta após um redirecionamento ou uma chamada de função que encerra a resposta, como "res.end()".

Verifique se não há código que esteja executando em segundo plano e enviando uma resposta ao cliente em algum momento após a resposta original ter sido enviada.

Considere usar um middleware para lidar com a lógica de envio de cabeçalhos e resposta. Isso pode ajudar a evitar problemas com cabeçalhos sendo enviados mais de uma vez.

Joguei seu erro no chatGPT e ele me deu essa resposta, espero que ajude!

1
1

Eu ja tinha tentado resolver usando o chatGPT, mas não me ajudou muito, vou tentar pesquisar mais um pouco e ver o que eu fiz de errado.