Consider keying the HTTP connection pool based on the supplied credential
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
Currently, the connection pool is keyed off of the type of connection / host / port / SNI / Proxy URL.
Credentials are resolved after the fact (once we already have a connection), so they don't impact how we partition connections.
With NTLM, this can have unintended consequences, so we should look at how feasible it is to make this work.
We made a previous change to special-case the `CredentialCache.DefaultCredentials` in #303 to include the identity as part of the partitioning key, but this doesn't work for any sort of custom credential type.
Contributor guide
Research direction
Start by reading the connection-pool partitioning behavior described here and the prior change in #303, including how CredentialCache.DefaultCredentials is handled. Investigate how custom credentials and NTLM affect connection reuse, then define a feasible credential-based partitioning approach and tests that demonstrate correct separation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100