History log of /external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
848b5edd4adadfbf7c9a97f74173592e3a80c361 23-Jan-2016 Chad Brubaker <cbrubaker@google.com> Use hostname aware isCleartextTrafficPermitted

The cleartext traffic blocking feature of
android.net.NetworkSecurityPolicy is being expanded to provide finer
grained controls (per hostname). This change integrates the Apache HTTP
stack with these finer grained controls.

Bug: 22666071
Change-Id: If557d7fbd4df708305fbb7656026fc366ac4bb6d
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
23c78a7d649e632852abb1f73ee36c117097c5c0 27-Mar-2015 Alex Klyubin <klyubin@google.com> Honor NetworkSecurityPolicy regarding cleartext traffic.

This makes HttpClient instances honor the process-wide policy about
cleartext network traffic. If cleartext network traffic is not
permitted, then attempts to send a cleartext HTTP request will throw
an IOException.

This change is needed despite platform-provided HttpClient being
deprecated because a large fraction of applications still use this
HttpClient library to generate HTTP traffic instead of using
URLConnection.

HttpClient is modular -- most of its parts can be replaced with
alternative implementations. Thus, this CL enforces the cleartext
traffic policy in DefaultRequestDirector because RequestDirector is
least commonly replaced (if ever) and there are no other
RequestDirector implementations provided by the library.

The cleartext policy is enforced pretty late in the process of
emitting a request to give time for any HttpRequestInterceptor
instances to see the request. This is because some apps use a
HttpRequestInterceptor to enforce their own policies about cleartext
HTTP such as catching accidental use of cleartext HTTP and reporting
it to their servers for analysis.

Bug: 19215516
Change-Id: I03687123080475581e7196d9bb8c0d006502d056
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
d42abb2fd917184764daf22f5f299e848b8701d7 23-Oct-2014 Narayan Kamath <narayan@google.com> Deprecate apache-http.

bug: 18067888
Change-Id: I8d830c20e952734e2bb63da1e785094b7a783308
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
6c9d8c58d3ed710f87c26820d903bb8aad81754f 28-Sep-2011 Jesse Wilson <jessewilson@google.com> Fix NPE in DefaultRequestDirector

When the HTTP client encountered a server failure while
talking through a proxy, it fails with an NullPointerException
and not an IOException.

Bug: http://b/5372438
Change-Id: I67848d52f5d01c9e353fcc7d66d48ec821d9b4ba
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
2d8fd9bea30efcae4cc418e223f2c61febe0caa0 07-Jan-2011 Jesse Wilson <jessewilson@google.com> Help the caller along if a malformed URI is used to make an HTTP request.

We had problems where we gave a cryptic error when the user's request
URL like "www.example.org/api/json/get_stuff" is interpretted as a relative
path rather than a fully qualified address:
java.lang.IllegalStateException: Target host must not be null, or set in parameters.

The new message breaks the address into parts to make this more clear:
java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=www.example.org/api/json/get_stuff

Change-Id: Ie102718dc15b92d68835f1c34b538639f500eeaa
http://code.google.com/p/android/issues/detail?id=9929
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
843bcb6f4f65c0cdca327c6467813b88c52042f3 03-Jan-2011 Brian Carlstrom <bdc@google.com> DefaultRequestDirector should ignore IOExceptions from stale connections

The DefaultRequestDirector was letting IOExceptions from closing stale
connections affect new requests. However, it was very common to
received "SSL shutdown failed" exceptions in this case, since an SSL
"close notify" message could not be sent. Now these and other
IOExceptions are ignored so the request can continue with a new
socket.

Bug: 3317717
Change-Id: I72f6f4a8f70aacb8b4c3e93c51e9808742d1a605
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
f0035c0e7077bc2d7a8aaf6516d96b0d2b1ba22d 03-Dec-2010 Brian Carlstrom <bdc@google.com> Set per request socket timeout on reused connections

Even though SoTimeout, TcpNoDelay, and SoLinger can be specified per
request in HttpParams, these values are only set on the underlying
socket in the DefaultRequestDirector when ManagedClientConnection.open
is called to create a new connection. On reused connection, no setting
of Socket options was being done.

There does not seem to be an easy way to fix this without changing one
or more APIs but for the timeout case at least, we can use the fact
that the ManagedClientConnection is an HttpConnection which has a
setSocketTimeout method.

Bug: 3241899
Change-Id: I080147b017b961502b3ba98d40841fea679491eb
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
069490a5ca2fd1988d29daf45d892f47ad665115 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
e5d9544310b857f3ee9ec172bdbff8077323f9a1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java
417f3b92ba4549b2f22340e3107d869d2b9c5bb8 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/external/apache-http/src/org/apache/http/impl/client/DefaultRequestDirector.java