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 などのコアインターフェース |
| Result | Result、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 // リトライ回数