Skip to content

API リファレンス

HTTPC は 28 個のリクエストオプション関数、5 つの設定プリセット、8 つの内蔵ミドルウェア、完全なダウンロードサポートを提供します。

コアアーキテクチャ

HTTPC は二重階層設計を採用しています。Layer 1 のメソッド API は薄いラッパーであり、実際にリクエストを処理するエンジンは Layer 2 の Handler パイプラインです。

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 などのコアインターフェース
ResultResult、RequestInfo、ResponseInfo、RequestMeta タイプと全メソッド
ハンドラパイプラインHandler パイプライン、MiddlewareFunc オニオンチェーン、Chain 結合器、ミューテータ契約

リクエストとレスポンス

モジュール説明
リクエストオプション28 個の WithXxx リクエストオプション関数(ヘッダー、ボディ、認証、Cookie、コールバックなど)
ミドルウェアChain 組み合わせ、8 つの内蔵ミドルウェアファクトリ、監査イベントタイプ
エラータイプClientError、12 種類の ErrorType 列挙、12 個のエラー変数

高度な機能

モジュール説明
ドメインクライアントDomainClient 作成、HTTP メソッド、ダウンロードメソッド、URL 結合ルール
セッション管理SessionManager の Cookie/ヘッダー管理とセキュリティ検証
ファイルダウンロードダウンロード関数、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          // リトライ回数