OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 | 8 |
9 import java.io.IOException; | 9 import java.io.IOException; |
10 import java.io.PrintWriter; | 10 import java.io.PrintWriter; |
11 import java.nio.channels.WritableByteChannel; | 11 import java.nio.channels.WritableByteChannel; |
12 import java.util.Map; | 12 import java.util.Map; |
13 | 13 |
14 /** | 14 /** |
15 * Network request using {@link java.net.HttpURLConnection}. | 15 * Network request using {@link java.net.HttpURLConnection}. |
16 */ | 16 */ |
17 class HttpUrlConnectionUrlRequestFactory extends HttpUrlRequestFactory { | 17 class HttpUrlConnectionUrlRequestFactory extends HttpUrlRequestFactory { |
18 | 18 |
19 private final Context mContext; | 19 private final Context mContext; |
| 20 private final String mDefaultUserAgent; |
20 | 21 |
21 public HttpUrlConnectionUrlRequestFactory( | 22 public HttpUrlConnectionUrlRequestFactory( |
22 Context context, UrlRequestContextConfig config) { | 23 Context context, UrlRequestContextConfig config) { |
23 mContext = context; | 24 mContext = context; |
| 25 String userAgent = config.userAgent(); |
| 26 if (userAgent.isEmpty()) { |
| 27 userAgent = UserAgent.from(mContext); |
| 28 } |
| 29 mDefaultUserAgent = userAgent; |
24 } | 30 } |
25 | 31 |
26 @Override | 32 @Override |
27 public boolean isEnabled() { | 33 public boolean isEnabled() { |
28 return true; | 34 return true; |
29 } | 35 } |
30 | 36 |
31 @Override | 37 @Override |
32 public String getName() { | 38 public String getName() { |
33 return "HttpUrlConnection/" + Version.getVersion(); | 39 return "HttpUrlConnection/" + Version.getVersion(); |
34 } | 40 } |
35 | 41 |
36 @Override | 42 @Override |
37 public HttpUrlRequest createRequest(String url, int requestPriority, | 43 public HttpUrlRequest createRequest(String url, int requestPriority, |
38 Map<String, String> headers, HttpUrlRequestListener listener) { | 44 Map<String, String> headers, HttpUrlRequestListener listener) { |
39 return new HttpUrlConnectionUrlRequest(mContext, url, requestPriority, | 45 return new HttpUrlConnectionUrlRequest(mContext, mDefaultUserAgent, url, |
40 headers, listener); | 46 requestPriority, headers, listener); |
41 } | 47 } |
42 | 48 |
43 @Override | 49 @Override |
44 public HttpUrlRequest createRequest(String url, int requestPriority, | 50 public HttpUrlRequest createRequest(String url, int requestPriority, |
45 Map<String, String> headers, WritableByteChannel channel, | 51 Map<String, String> headers, WritableByteChannel channel, |
46 HttpUrlRequestListener listener) { | 52 HttpUrlRequestListener listener) { |
47 return new HttpUrlConnectionUrlRequest(mContext, url, requestPriority, | 53 return new HttpUrlConnectionUrlRequest(mContext, mDefaultUserAgent, url, |
48 headers, channel, listener); | 54 requestPriority, headers, channel, listener); |
49 } | 55 } |
50 | 56 |
51 @Override | 57 @Override |
52 public void startNetLogToFile(String fileName) { | 58 public void startNetLogToFile(String fileName) { |
53 try { | 59 try { |
54 PrintWriter out = new PrintWriter(fileName); | 60 PrintWriter out = new PrintWriter(fileName); |
55 out.println("NetLog is not supported by " + getName()); | 61 out.println("NetLog is not supported by " + getName()); |
56 out.close(); | 62 out.close(); |
57 } catch (IOException e) { | 63 } catch (IOException e) { |
58 // Ignore any exceptions. | 64 // Ignore any exceptions. |
59 } | 65 } |
60 } | 66 } |
61 | 67 |
62 @Override | 68 @Override |
63 public void stopNetLog() { | 69 public void stopNetLog() { |
64 } | 70 } |
65 } | 71 } |
OLD | NEW |