aws / aws/aws-sdk-cpp

OverrideOptionsOnConnectionHandle must provide HttpRequest as callback data

Open
#1,978 2 comments 0 reactions 0 assignees View on GitHub
feature-request p2
Dominant language
C++
Stars
2.2k
Forks
1.2k
Avg merge
4d 11h
Merged PRs (30d)
13

Description

### 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

Contributor guide

Open the contributing guide

Research direction

Start by locating the declaration and uses of OverrideOptionsOnConnectionHandle, then inspect CurlHttpClient::MakeRequest and how its connection handler is invoked. Confirm how HttpRequest is represented there and trace the callback path. Done means the callback receives the served HttpRequest as additional data while preserving the intended custom HTTP-client behavior and accounting for the noted breaking change.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.