提交 46126e00 编写于 作者: S Sam Judd

Add a default user agent in OkHttp integration.

Fixes #436.
上级 1843c205
......@@ -17,6 +17,8 @@ import java.util.Map;
* Fetches an {@link InputStream} using the okhttp library.
*/
public class OkHttpStreamFetcher implements DataFetcher<InputStream> {
private static final String USER_AGENT_HEADER = "User-Agent";
private static final String DEFAULT_USER_AGENT = System.getProperty("http.agent");
private final OkHttpClient client;
private final GlideUrl url;
private InputStream stream;
......@@ -31,8 +33,15 @@ public class OkHttpStreamFetcher implements DataFetcher<InputStream> {
public InputStream loadData(Priority priority) throws Exception {
Request.Builder requestBuilder = new Request.Builder()
.url(url.toStringUrl());
boolean isUserAgentSet = false;
for (Map.Entry<String, String> headerEntry : url.getHeaders().entrySet()) {
requestBuilder.addHeader(headerEntry.getKey(), headerEntry.getValue());
String key = headerEntry.getKey();
requestBuilder.addHeader(key, headerEntry.getValue());
isUserAgentSet |= USER_AGENT_HEADER.equalsIgnoreCase(key);
}
if (!isUserAgentSet) {
requestBuilder.addHeader(USER_AGENT_HEADER, DEFAULT_USER_AGENT);
}
Request request = requestBuilder.build();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册