HttpSession

class HttpSession(timeout)
Параметры:

timeout – Таймаут запросов в секундах

HTTP-клиент с поддержкой только POST запросов.

Принцип работы:

Легковесный HTTP-клиент на Rust, оптимизированный для работы с ClickHouse. Использует пул соединений, повторное использование сокетов и асинхронный I/O для максимальной производительности при передаче больших объемов данных.

Ключевые методы:

  • post() - отправка POST запроса с различными типами данных

  • post_stream() - алиас для post()

  • close() - закрытие сессии и освобождение ресурсов

Особенности реализации на Rust:

  • Асинхронный runtime (tokio) для конкурентных запросов

  • Connection pooling для многократного использования соединений

  • Поддержка streaming upload для генераторов данных

  • Автоматические retry при сетевых ошибках

  • Компрессия на лету (gzip, deflate)

Поддерживаемые типы данных:

  • bytes - готовые данные

  • bytearray - изменяемый буфер

  • Iterable[bytes] - генераторы и итераторы

  • list[bytes] - список чанков

Использование: Для всех HTTP взаимодействий с ClickHouse сервером.