OverrideOptionsOnConnectionHandle must provide HttpRequest as callback data
- 主要言語
- C++
- スター
- 2.2k
- フォーク
- 1.2k
- 平均マージ
- 4日 11時間
- マージ済み PR(30日)
- 13
説明
### Describe the feature
Adding custom SetHttpClientFactory and custom CurlHttpClient if great but there is no link between client and served request in function OverrideOptionsOnConnectionHandle.
### Use Case
Implementing simultaneous and dynamic SSL checking and verification via SSL_CTX_set_verify (check for some connections, discard for other connections, etc.) with CURLOPT_SSL_CTX_FUNCTION is not possible because HttpClientFactory is static and there is no way to understand which option to use in OverrideOptionsOnConnectionHandle.
### Proposed Solution
Declare OverrideOptionsOnConnectionHandle with additional parameter HttpRequest* and when invoked in CurlHttpClient::MakeRequest pass "request.get()" along with curl connection handler.
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [X] This feature might incur a breaking change
コントリビューションガイド
調査の方向性
まず OverrideOptionsOnConnectionHandle の宣言と使用箇所を見つけ、次に CurlHttpClient::MakeRequest と、その接続ハンドラーがどのように呼び出されるかを調べます。そこで HttpRequest がどのように表現されているかを確認し、コールバックの経路を追跡します。コールバックが処理対象の HttpRequest を追加データとして受け取り、意図されたカスタム HTTP クライアントの動作を維持しつつ、記載されている破壊的変更を考慮できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- networking
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100