shakiriker
@shakiriker

ERR_HTTP_HEADERS_SENT: Cannot set cookie?

это мой код

import { Request, Response } from "express";
import { database } from "firebase-admin";

async function updatereAccessToken(
  req: Request,
  res: Response,
  db: database.Database
) {
  try {

    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

    
    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

//comments

    res.cookie("act", "tokenAuth.accessToken", {
      httpOnly: true,
      sameSite: "lax",
    });

    res.cookie("ret", "tokenAuth.refreshToken", {
      httpOnly: true,
      sameSite: "lax",
    });

    return "currentUser";
  } catch (error) {}
}


Код работает до комментария. Затем я получаю сообщение об ошибке

[ERR_HTTP_HEADERS_SENT]: невозможно установить заголовки после их отправки клиенту на ServerResponse.setHeader (_http_outgoing.js: 558: 11)


Разделите код на две части

1
await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

    
    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");


2
res.cookie("act", "tokenAuth.accessToken", {
          httpOnly: true,
          sameSite: "lax",
        });
    
        res.cookie("ret", "tokenAuth.refreshToken", {
          httpOnly: true,
          sameSite: "lax",
        });


Эти две части кода работают отдельно, но не вместе. Какова причина ?.
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы