mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-15 20:29:52 +01:00
Use a single OkHttpClient instance for all RSS fetches.
This commit is contained in:
@@ -93,9 +93,8 @@ class FeedManagerImpl implements FeedManager, EventListener, OpenDatabaseHook,
|
|||||||
private final BlogManager blogManager;
|
private final BlogManager blogManager;
|
||||||
private final BlogPostFactory blogPostFactory;
|
private final BlogPostFactory blogPostFactory;
|
||||||
private final FeedFactory feedFactory;
|
private final FeedFactory feedFactory;
|
||||||
private final SocketFactory torSocketFactory;
|
|
||||||
private final Clock clock;
|
private final Clock clock;
|
||||||
private final Dns noDnsLookups;
|
private final OkHttpClient client;
|
||||||
private final AtomicBoolean fetcherStarted = new AtomicBoolean(false);
|
private final AtomicBoolean fetcherStarted = new AtomicBoolean(false);
|
||||||
|
|
||||||
private volatile boolean torActive = false;
|
private volatile boolean torActive = false;
|
||||||
@@ -120,9 +119,14 @@ class FeedManagerImpl implements FeedManager, EventListener, OpenDatabaseHook,
|
|||||||
this.blogManager = blogManager;
|
this.blogManager = blogManager;
|
||||||
this.blogPostFactory = blogPostFactory;
|
this.blogPostFactory = blogPostFactory;
|
||||||
this.feedFactory = feedFactory;
|
this.feedFactory = feedFactory;
|
||||||
this.torSocketFactory = torSocketFactory;
|
|
||||||
this.clock = clock;
|
this.clock = clock;
|
||||||
this.noDnsLookups = noDnsLookups;
|
// Share an HTTP client instance between all requests - see
|
||||||
|
// https://medium.com/@leandromazzuquini/if-you-are-using-okhttp-you-should-know-this-61d68e065a2b
|
||||||
|
client = new OkHttpClient.Builder()
|
||||||
|
.socketFactory(torSocketFactory)
|
||||||
|
.dns(noDnsLookups) // Don't make local DNS lookups
|
||||||
|
.connectTimeout(CONNECT_TIMEOUT, MILLISECONDS)
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -364,13 +368,6 @@ class FeedManagerImpl implements FeedManager, EventListener, OpenDatabaseHook,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private InputStream getFeedInputStream(String url) throws IOException {
|
private InputStream getFeedInputStream(String url) throws IOException {
|
||||||
// Build HTTP Client
|
|
||||||
OkHttpClient client = new OkHttpClient.Builder()
|
|
||||||
.socketFactory(torSocketFactory)
|
|
||||||
.dns(noDnsLookups) // Don't make local DNS lookups
|
|
||||||
.connectTimeout(CONNECT_TIMEOUT, MILLISECONDS)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
// Build Request
|
// Build Request
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.url(url)
|
.url(url)
|
||||||
|
|||||||
Reference in New Issue
Block a user