Skip to content

Не кешируются запросы со статусом ответа 204 #397

@ItMaga

Description

@ItMaga

Проблема

Cейчас в кеш сохраняется результат если выставлен флаг bodyUsed. Слушатель здесь

const saveAndClear = () => {
save();
// eslint-disable-next-line @typescript-eslint/no-use-before-define
emitter.off('bodyUsed', clear);
};
const clear = () => {
resolve(resObj);
emitter.off('bodyUsed', saveAndClear);
};
emitter.once('bodyUsed', saveAndClear);

Но для статусов "без контента" мы не выставляем флаг bodyUsed

if (noContentStatusCodes.includes(this.status)) {
data = null;
} else {

Решение

Одним из решений является помечать bodyUsed для статусов "без контента". Но надо посмотреть детальнее и проверить может ли что-то сломать

if (noContentStatusCodes.includes(this.status)) {
    data = this.readBody().then(() => null);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions