summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadThread.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-01-10 11:12:52 -0800
committerJeff Sharkey <jsharkey@android.com>2013-01-10 11:13:23 -0800
commit89afc754d46a8574a9e014c7670746668de9f9b3 (patch)
treefb4c46b31ac362bb0d8c5a98560cd1865b764615 /src/com/android/providers/downloads/DownloadThread.java
parent0de55602ec6d350548248feddc68c91b29326eff (diff)
downloadandroid_packages_providers_DownloadProvider-89afc754d46a8574a9e014c7670746668de9f9b3.tar.gz
android_packages_providers_DownloadProvider-89afc754d46a8574a9e014c7670746668de9f9b3.tar.bz2
android_packages_providers_DownloadProvider-89afc754d46a8574a9e014c7670746668de9f9b3.zip
Only add one User-Agent header.
Also include more details when reporting HTTP error codes. Bug: 7966393 Change-Id: I251b1ec7c827693817391b6e9fb8b0cab995395e
Diffstat (limited to 'src/com/android/providers/downloads/DownloadThread.java')
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index dc2ef571..c77224a7 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -306,7 +306,8 @@ public class DownloadThread extends Thread {
case HTTP_PRECON_FAILED:
// TODO: probably means our etag precondition was
// changed; flush and retry again
- StopRequestException.throwUnhandledHttpError(responseCode);
+ StopRequestException.throwUnhandledHttpError(
+ responseCode, conn.getResponseMessage());
case HTTP_UNAVAILABLE:
parseRetryAfterHeaders(state, conn);
@@ -320,7 +321,8 @@ public class DownloadThread extends Thread {
throw new StopRequestException(STATUS_WAITING_TO_RETRY, "Internal error");
default:
- StopRequestException.throwUnhandledHttpError(responseCode);
+ StopRequestException.throwUnhandledHttpError(
+ responseCode, conn.getResponseMessage());
}
} catch (IOException e) {
// Trouble with low-level sockets
@@ -791,12 +793,15 @@ public class DownloadThread extends Thread {
* Add custom headers for this download to the HTTP request.
*/
private void addRequestHeaders(State state, HttpURLConnection conn) {
- conn.addRequestProperty("User-Agent", userAgent());
-
for (Pair<String, String> header : mInfo.getHeaders()) {
conn.addRequestProperty(header.first, header.second);
}
+ // Only splice in user agent when not already defined
+ if (conn.getRequestProperty("User-Agent") == null) {
+ conn.addRequestProperty("User-Agent", userAgent());
+ }
+
if (state.mContinuingDownload) {
if (state.mHeaderETag != null) {
conn.addRequestProperty("If-Match", state.mHeaderETag);