mirror of
https://github.com/square/okhttp.git
synced 2026-01-18 20:40:58 +03:00
f695ea7f23e1df67aa28756da47b39b0a42cddfd
Motivation 1: Cipher selection and TLS protocol version selection should be performed over "enabled", not "support" values. Otherwise, ciphers / protocols that are disabled by default are re-enabled. Android would like to avoid enabling values that are considered unsafe and are disabled by the platform, apps or GMS core. Motivation 2: Opinionated cipher suite selection makes sense for OkHttp when bundled with apps. OkHttp probably has the best/newest information available when compared with the socket factory it encounters. However, with the Android platform usecase the socket factory (i.e. one from the platform, from GMS core, or installed by the app) might have better information (or reasons why specific suites should not be used and so it modifies the "enabled" set). Android would therefore prefer OkHttp to select from a default set specified by the socket factory, not a list hard-coded at release time. Unlike ciphers, for protocols there is no current need to go with the default enabled set so supporting "null" / "use default" is not required for protocols. Other change: The ConnectionSpec caching (see supportedSpec) has been removed from ConnectionSpec. This seems like an risky optimization to me in an environment where different SocketFactory instances could be encountered and doing it properly seems costly and of limited benefit.
OkHttp
An HTTP & SPDY client for Android and Java applications. For more information see the website and the wiki.
Download
Download the latest JAR or grab via Maven:
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp</artifactId>
<version>2.2.0</version>
</dependency>
or Gradle:
compile 'com.squareup.okhttp:okhttp:2.2.0'
Snapshots of the development version are available in Sonatype's snapshots repository.
MockWebServer
A library for testing HTTP, HTTPS, HTTP/2.0, and SPDY clients.
MockWebServer coupling with OkHttp is essential for proper testing of SPDY and HTTP/2.0 so that code can be shared.
Download
Download the latest JAR or grab via Maven:
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>2.2.0</version>
<scope>test</scope>
</dependency>
or Gradle:
testCompile 'com.squareup.okhttp:mockwebserver:2.2.0'
License
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Description
Languages
Kotlin
99.3%
Java
0.6%