Make it possible to tell if an OkHttpClient/Interceptor.Chain is using a non-default sslSocketFactory
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reading okhttp/src/commonJvmAndroid/kotlin/okhttp3/OkHttpClient.kt around the field initialization cited in the issue, then follow how Interceptor.Chain.sslSocketFactoryOrNull is exposed and how withSslSocketFactory changes the chain. The issue asks for a way to distinguish a user-provided factory from the default; done means an application interceptor can make that distinction without confusing the default instance with an override.
Written by the indexing model from the issue text.
Description
We would like to know, in an application interceptor, if the user is using a custom SSLSocketFactory, i.e. they called OkHttpClient.Builder.sslSocketFactory or Interceptor.Chain.withSslSocketFactory.
This is because, if the user is using the default SSL Socket Factory, our interceptor can use its own SSL implementation with little risk of contradicting the user's intent. The interceptor should ideally refrain from doing this if the user overrode the option.
Currently this doesn't really seem to be feasible. Indeed, if the user does not specify this option, OkHttp sets the field to a new instance, which means Interceptor.chain.sslSocketFactoryOrNull cannot be compared against null or some default instance.
@yschimke @vkasprov
- Dominant language
- Kotlin
- Stars
- 47.1k
- Forks
- 9.3k
- Avg merge
- 18h 18m
- Merged PRs (30d)
- 15
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lysine-dev/okhttp
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
lysine-dev/okhttp#9788 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
lysine-dev/okhttp#9761 · 3 comments ·
Maintainers usually reply within 1 day
-
Remove crossinline `addInterceptor` and `addNetworkInterceptor` overloadsMay be free again @Amir-Golmoradi claimed this 7 days ago, and no pull request is open. Openenhancement
Difficulty 3/5 1-2 days Newbie friendliness 58/100
lysine-dev/okhttp#9779 · 1 comment ·
Maintainers usually reply within 1 day
-
HTTP/2 Data padding is not counted toward the connection flow-control window. This deadlocks connections with peers that pad.May be free again @Amir-Golmoradi claimed this 7 days ago, and no pull request is open. Openbug
Difficulty 3/5 1-2 days Newbie friendliness 67/100
lysine-dev/okhttp#9772 · 6 comments ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
lysine-dev/okhttp#9760 · 3 comments ·
Maintainers usually reply within 1 day
All issues in lysine-dev/okhttp
Similar issues
-
Dev
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
ankidroid/Anki-Android#22555 ·
Maintainers usually reply within 1 day
-
enhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
core: RAC_LLM_OPTIONS_DEFAULT.min_p disagrees with the IDL's annotated defaultPossibly taken A pull request linked to this issue is open or already merged. Openbug core p3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
Maintainers usually reply within 5 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Java and Kotlin (JVM): parse gradle/wrapper/gradle-wrapper.properties with exact line locationsOpenarea: detector eco: java help wanted lane: free-agent roadmap size: S type: parser
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
arminazimi/evergreen#355 ·
Maintainers usually reply within 1 day