Skip to content

Latest commit

 

History

History
57 lines (31 loc) · 4.74 KB

clue.md

File metadata and controls

57 lines (31 loc) · 4.74 KB

Зачем

Платформа 1С (по состоянию на время версии 8.3.21) предоставляет достаточно низкоуровневый кодовый функционал настройки HTTP-запроса. Такие вопросы, как описание конкретного типа авторизации, формирование тела запроса, переадресация, работа с Cookie, повторное отложенное выполнение и т.д., оставались на откуп программисту.

Цель создания подсистемы – предоставить программисту библиотеку с готовым функционалом, решающим прикладные задачи отправки HTTP-запросов исключительно средствами платформы 1С.

Подсистема состоит из:

  • библиотеки – набора процедур и функций (API);
  • Клиента – обработки для интерактивных настройки и выполнения HTTP-запросов.

Богатый функционал

Библиотека содержит расширенный набор прикладных процедур и функций для настройки и выполнения HTTP-запроса. Говорящие названия функций и процедур, обширная документация, дизайн API в целом позволяют писать лаконичный, человекопонятный и эффективный код классическим подходом и в виде текучего (fluent) интерфейса.

Полностью платформенная реализация

Весь функционал библиотеки реализован исключительно средствами платформы 1С.

Набор констант

Названия методов, типы контента, коды ответа сервера, наименования заголовков и многое другое оформлены в виде констант (функции модуля повторного использования).

Формирование тела запроса

Простота API библиотеки скрывает эффективную подготовку тела запроса различных видов: текст, файл, HTML-форма, компоновка формы multipart.

Аутентификация

Библиотека берёт на себя подготовку запроса и работу с ответом для обеспечения успешной аутентификации различными способами.

Отложенное повторное выполнение

Реализованы retry и backoff через механизм фоновых заданий. Библиотека анализирует ответ и может автоматически выполнять retry.

Перенаправления

Библиотека позволяет автоматизировать выполнение цепочки запросов перенаправлений.

Мобильное приложение

Библиотека почти полноценно работает в коде для мобильного приложения. Имеется версия Клиента для мобильной платформы.

Обработка Cookie

Автоматизированы чтение заголовка Set-Cookie, хранение и отправка Cookie. Хранение Cookie по хостам реализовано в виде in-memory базе данных, которая находится в дополнительных параметрах запроса.

Клиент

Клиент (обработка) даёт возможность получить код 1С по интерактивно настроенному запросу. Также есть функционал импорта из Postman и экспорт/импорт команды curl. Пример использования:

  1. Импорт запроса из Postman или curl
  2. Генерация кода 1С

И ещё много всего

Подробное описание функционала библиотеки.

Примеры использования.