From 9c52187cb4c88b6d89c036311b068a71e6cdc921 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Thu, 9 Mar 2023 12:11:24 -0300 Subject: [PATCH] Expose webserver port in AbstractMailbox This is needed for integration tests of the API in Briar, so Briar knows what port to connect to (without having to go through Tor). --- .../org/briarproject/mailbox/lib/AbstractMailbox.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mailbox-lib/src/main/java/org/briarproject/mailbox/lib/AbstractMailbox.kt b/mailbox-lib/src/main/java/org/briarproject/mailbox/lib/AbstractMailbox.kt index bedad403..1304b708 100644 --- a/mailbox-lib/src/main/java/org/briarproject/mailbox/lib/AbstractMailbox.kt +++ b/mailbox-lib/src/main/java/org/briarproject/mailbox/lib/AbstractMailbox.kt @@ -26,6 +26,7 @@ import org.briarproject.mailbox.core.CoreEagerSingletons import org.briarproject.mailbox.core.MailboxLibEagerSingletons import org.briarproject.mailbox.core.db.TransactionManager import org.briarproject.mailbox.core.lifecycle.LifecycleManager +import org.briarproject.mailbox.core.server.WebServerManager import org.briarproject.mailbox.core.setup.QrCodeEncoder import org.briarproject.mailbox.core.setup.SetupManager import org.briarproject.mailbox.core.setup.WipeManager @@ -59,6 +60,9 @@ abstract class AbstractMailbox(protected val customDataDir: File? = null) { @Inject internal lateinit var setupManager: SetupManager + @Inject + internal lateinit var webserverManager: WebServerManager + @Inject internal lateinit var wipeManager: WipeManager @@ -131,5 +135,11 @@ abstract class AbstractMailbox(protected val customDataDir: File? = null) { return qrCodeEncoder.getLink() } + /** + * The port, the webserver has bound to. + * Accessing this will block the current thread until the port chosen by the webserver is known. + */ + val port get() = webserverManager.port + fun getSystem(): System = system } -- GitLab