# README
sacloud/go-http
さくらのクラウド向けHTTPクライアントライブラリ
概要
さくらのクラウドの各種API(IaaS,ObjectStorage,PHYなど)で共通利用できるHTTPクライアント機能を提供します。
関連プロジェクト
- sacloud/api-client-go: sacloudプロダクト向けHTTP/APIクライアントライブラリ sacloud/go-httpをラップし環境変数やUsacloud互換のプロファイルの処理などを提供します。
License
go-http
Copyright (C) 2021-2023 The sacloud/go-http authors.
This project is published under Apache 2.0 License.
# Functions
ComposeRequestCustomizer 任意の個数のRequestCustomizerを合成してRequestCustomizerを返す
複数のRequestCustomizerを指定した場合は先頭から呼びだされ、エラーを返したら即時returnする.
NewClient APIクライアント作成.
# Constants
Version バージョン.
# Variables
DefaultAcceptLanguage デフォルトのAcceptLanguage.
DefaultRetryMax デフォルトのリトライ回数.
DefaultRetryWaitMax デフォルトのリトライ間隔(最大).
DefaultRetryWaitMin デフォルトのリトライ間隔(最小).
DefaultUserAgent デフォルトのユーザーエージェント.
# Structs
Client さくらのクラウドAPI(secure.sakura.ad.jp)向けのHTTPクライアント
レスポンスの状態に応じてリトライする仕組みを持つ デフォルトだとレスポンスステータスコード423、または503を受け取った場合にRetryMax回リトライする
リトライ間隔はRetryMinからRetryMaxまで指数的に増加する(Exponential Backoff)
リトライ時にcontext.Canceled、またはcontext.DeadlineExceededの場合はリトライしない.
RateLimitRoundTripper 秒間アクセス数を制限するためのhttp.RoundTripper実装.
TracingRoundTripper リクエスト/レスポンスのトレースログを出力するためのhttp.RoundTripper実装
Client.Gzipがtrueの場合でも関知しないため利用者側で制御する必要がある.
# Type aliases
RequestCustomizer リクエスト前に*http.Requestのカスタマイズを行うためのfunc.