Skip to content

Справочник API

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

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

HTTPC использует двухслойную архитектуру: метод API Layer 1 — тонкая обёртка, а настоящий движок обработки запросов — конвейер Handler на Layer 2.

text
Двухслойная архитектура HTTPC
├── Layer 1  Метод API (тонкая обёртка)
│     Функции пакета httpc.Get/Post/... + методы Client + параметры запроса → Result

└── Layer 2  Конвейер Handler (движок обработки запросов)
      Луковая цепочка MiddlewareFunc(Handler)
      → сборка clientImpl.middlewareChain
      → выполнение (каждый запрос = сборка и запуск цепочки Handler)

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

Ядро

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

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

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

Продвинутые функции

МодульОписание
Доменный клиентСоздание 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          // количество повторных попыток