Skip to content

Справочник API

HTTPC предоставляет 26 функций параметров запроса, 5 предустановок конфигурации, 8 встроенных промежуточных модулей и полную поддержку скачивания файлов.

Основная архитектура

text
Пакет httpc
├── Интерфейс Client - основной клиент, поддерживающий все HTTP-методы
├── Интерфейс DomainClienter - клиент с областью видимости домена со встроенным управлением сессиями
├── Config - система конфигурации (таймауты/соединения/безопасность/повторы/промежуточное ПО)
├── RequestOption - 26 функций параметров запроса
├── MiddlewareFunc - цепочки промежуточного ПО
├── Result - результат ответа (включая метаданные запроса)
└── Функции пакета - используются без создания клиента

Навигация по модулям

Ядро

МодульОписание
Функции пакетаGet/Post/Put/Patch/Delete и другие функции пакета, методы клиента и вспомогательные функции
КонфигурацияСтруктура Config, 5 предустановок, функции валидации и безопасность Cookie
ИнтерфейсыCore интерфейсы Client, Doer, DomainClienter, RetryPolicy и др.
ResultТипы Result, RequestInfo, ResponseInfo, RequestMeta и все методы

Запросы и ответы

МодульОписание
Параметры запроса26 функций параметров WithXxx (заголовки, тело, аутентификация, Cookie, обратные вызовы и др.)
Промежуточное ПОКомпозиция Chain, 8 встроенных фабрик промежуточного ПО и типы событий аудита
Типы ошибокClientError, 12 типов ErrorType и 13 переменных ошибок

Расширенные возможности

МодульОписание
Доменный клиентСоздание DomainClient, HTTP-методы, методы скачивания и правила склейки URL
Управление сессиямиУправление Cookie/заголовками SessionManager и проверка безопасности
Скачивание файловФункции скачивания, DownloadConfig, возобновление загрузки и защита безопасности
Константы и типыПеречисление BodyKind, FormData/FileData и ключи контекста аудита

Быстрый справочник

Создание клиента

go
client, err := httpc.New()                    // конфигурация по умолчанию
client, err := httpc.New(httpc.SecureConfig()) // безопасная предустановка
client, err := httpc.New(customConfig)         // пользовательская конфигурация

Отправка запросов

go
// Функции пакета
result, err := httpc.Get(url, options...)

// Методы клиента
result, err := client.Get(url, options...)

// С контекстом
result, err := client.Request(ctx, "GET", url, options...)

Обработка ответов

go
result.StatusCode()           // код состояния
result.Body()                 // тело ответа (строка)
result.RawBody()              // тело ответа (байты)
result.Unmarshal(&data)       // разбор JSON
result.IsSuccess()            // является ли 2xx
result.Meta.Duration          // время выполнения запроса
result.Meta.Attempts          // количество повторных попыток
defer httpc.ReleaseResult(result) // возврат в пул объектов