Перейти к основному содержимому
Version: next

Middlewares

Вы можете добавить/удалить миддлвары для запросов, чтобы сделать какую то промежуточную работу

Добавление миддлвары

import Joi from "joi";
import { RestRequest, IResponse, ABORT_REQUEST_EVENT_NAME } from "@mihanizm56/fetch-api";

new MiddlewaresController().setMiddleware({
  name: 'test', // задаем middleware id (должен быть уникальным)
  middleware: async ({ retryRequest }) => {
    // теперь мы можем обработать наш запрос, например добавив дополнительный запрос (чайстый случай для аутентификации/авторизации)
    const result = await new PureRestRequest().getRequest({
      endpoint: '/test-2',
      // Для того чтобы отключить у данного запроса перехват миддлварами
      // нужно утсановить middlewaresAreDisabled параметр в true
      middlewaresAreDisabled: true, 
    });

    // мы также можем произвести ретрай изначального запроса вручную
    const data = await retryRequest({ middlewaresAreDisabled: true });

    // и передаем значение как результат запроса
    return data;
  },
});


const someFunction = async () => {
    // тут мы получим значение ПОСЛЕ того как все миддлвары отработают
    const result = await new PureRestRequest().getRequest({
      endpoint: '/test-1',
    });
}

Удаление миддлвары

import Joi from "joi";
import { RestRequest, IResponse, ABORT_REQUEST_EVENT_NAME } from "@mihanizm56/fetch-api";

// передаем middleware id
new MiddlewaresController().deleteMiddleware('test');


const someFunction = async () => {
    const result = await new PureRestRequest().getRequest({
      endpoint: '/test-1',
    });
}