mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-04-12 03:38:30 +00:00
1.9 KiB
1.9 KiB
title, order, status
| title | order | status |
|---|---|---|
| C03. デフォルトヘッダーを設定する | 3 | draft |
同じヘッダーを毎回のリクエストに付けたいときは、set_default_headers()を使います。一度設定すれば、そのクライアントから送るすべてのリクエストに自動で付与されます。
基本の使い方
httplib::Client cli("https://api.example.com");
cli.set_default_headers({
{"Accept", "application/json"},
{"User-Agent", "my-app/1.0"},
});
auto res = cli.Get("/users");
AcceptやUser-Agentのように、APIを呼ぶたびに必要なヘッダーをまとめて登録できます。リクエストごとに指定する手間が省けます。
Bearerトークンを毎回付ける
httplib::Client cli("https://api.example.com");
cli.set_default_headers({
{"Authorization", "Bearer " + token},
{"Accept", "application/json"},
});
auto res1 = cli.Get("/me");
auto res2 = cli.Get("/projects");
認証トークンを一度セットしておけば、以降のリクエストで自動的に送られます。複数のエンドポイントを叩くAPIクライアントを書くときに便利です。
Note:
set_default_headers()は既存のデフォルトヘッダーを上書きします。あとから1つだけ追加したい場合でも、全体を渡し直してください。
リクエスト単位のヘッダーと組み合わせる
デフォルトヘッダーを設定していても、個別のリクエストで追加のヘッダーを渡せます。
httplib::Headers headers = {
{"X-Request-ID", "abc-123"},
};
auto res = cli.Get("/users", headers);
リクエスト単位で渡したヘッダーはデフォルトヘッダーに追加されます。両方がサーバーに送られます。
Bearerトークンを使った認証の詳細はC06. BearerトークンでAPIを呼ぶを参照してください。