aws / aws/aws-sdk-cpp

OverrideOptionsOnConnectionHandle must provide HttpRequest as callback data

オープン
#1,978 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
feature-request p2
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。