1 OkHttp 2 ====== 3 4 An HTTP & SPDY client for Android and Java applications. 5 6 For more information please see [the website][1]. 7 8 9 10 Download 11 -------- 12 13 Download [the latest JAR][2] or grab via Maven: 14 15 ```xml 16 <dependency> 17 <groupId>com.squareup.okhttp</groupId> 18 <artifactId>okhttp</artifactId> 19 <version>(insert latest version)</version> 20 </dependency> 21 ``` 22 23 24 Building 25 -------- 26 27 OkHttp requires Java 7 to build and run tests. Runtime compatibility with Java 6 is enforced as 28 part of the build to ensure compliance with Android and older versions of the JVM. 29 30 31 32 Testing 33 ------- 34 35 ### On the Desktop 36 37 Run OkHttp tests on the desktop with Maven. Running SPDY tests on the desktop uses 38 [Jetty-NPN][3] which requires OpenJDK 7+. 39 40 ``` 41 mvn clean test 42 ``` 43 44 ### On a Device 45 46 OkHttp's test suite creates an in-process HTTPS server. Prior to Android 2.3, SSL server sockets 47 were broken, and so HTTPS tests will time out when run on such devices. 48 49 Test on a USB-attached Android using [Vogar][4]. Unfortunately `dx` requires that you build with 50 Java 6, otherwise the test class will be silently omitted from the `.dex` file. 51 52 ``` 53 mvn clean 54 mvn package -DskipTests 55 vogar \ 56 --classpath ~/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar \ 57 --classpath mockwebserver/target/mockwebserver-2.0.0-SNAPSHOT.jar \ 58 --classpath okhttp-protocols/target/okhttp-protocols-2.0.0-SNAPSHOT.jar \ 59 --classpath okhttp/target/okhttp-2.0.0-SNAPSHOT.jar \ 60 okhttp/src/test 61 ``` 62 63 MockWebServer 64 ------------- 65 66 A library for testing HTTP, HTTPS, HTTP/2.0, and SPDY clients. 67 68 MockWebServer coupling with OkHttp is essential for proper testing of SPDY and HTTP/2.0 so that code can be shared. 69 70 ### Download 71 72 Download [the latest JAR][5] or grab via Maven: 73 74 ```xml 75 <dependency> 76 <groupId>com.squareup.okhttp</groupId> 77 <artifactId>mockwebserver</artifactId> 78 <version>(insert latest version)</version> 79 <scope>test</scope> 80 </dependency> 81 ``` 82 83 84 License 85 ------- 86 87 Licensed under the Apache License, Version 2.0 (the "License"); 88 you may not use this file except in compliance with the License. 89 You may obtain a copy of the License at 90 91 http://www.apache.org/licenses/LICENSE-2.0 92 93 Unless required by applicable law or agreed to in writing, software 94 distributed under the License is distributed on an "AS IS" BASIS, 95 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 96 See the License for the specific language governing permissions and 97 limitations under the License. 98 99 100 101 102 [1]: http://square.github.io/okhttp 103 [2]: http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.squareup.okhttp&a=okhttp&v=LATEST 104 [3]: http://wiki.eclipse.org/Jetty/Feature/NPN 105 [4]: https://code.google.com/p/vogar/ 106 [5]: http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.squareup.okhttp&a=mockwebserver&v=LATEST 107