Reapply an upstream OkHttp change to Android for HttpUrl

This was originally commited to AOSP as 3281dee547ef61c7c792a6e2b94b4b66b0486376
The upstream commit was part of OkHttp 3.0 but not 2.7.5.

Previous commit message:

Manually reapplied change from upstream to address HttpUrl encoding issues.
This change did not apply cleanly. Upstream FormEncodingBuilder has
been refactored. Equivalent changes have been made.

Upstream details:
Comment:
Never throw converting an HttpUrl to a java.net.URI.

Just do arbitrary amounts of transformation. Sigh.

Closes https://github.com/square/okhttp/issues/2116
SHA: d77edcc8905148f18a691be180c4f8f366a5ee1b

Change-Id: I588e8906c22d2db565e4582a454fa5894071feae
3 files changed
tree: 3c7045832b10ac22e248b98877cb651814d76d67
  1. .buildscript/
  2. android/
  3. benchmarks/
  4. mockwebserver/
  5. okcurl/
  6. okhttp/
  7. okhttp-android-support/
  8. okhttp-apache/
  9. okhttp-hpacktests/
  10. okhttp-logging-interceptor/
  11. okhttp-testing-support/
  12. okhttp-tests/
  13. okhttp-urlconnection/
  14. okhttp-ws/
  15. okhttp-ws-tests/
  16. okio/
  17. samples/
  18. website/
  19. .gitignore
  20. .gitmodules
  21. .travis.yml
  22. Android.mk
  23. BUG-BOUNTY.md
  24. CHANGELOG.md
  25. checkstyle.xml
  26. CONTRIBUTING.md
  27. deploy_website.sh
  28. jarjar-rules.txt
  29. LICENSE.txt
  30. MODULE_LICENSE_APACHE2
  31. pom.xml
  32. README.android
  33. README.md
README.md

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.6.0</version>
</dependency>

or Gradle:

compile 'com.squareup.okhttp:okhttp:2.6.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.6.0</version>
  <scope>test</scope>
</dependency>

or Gradle:

testCompile 'com.squareup.okhttp:mockwebserver:2.6.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.