From 19d4f6d470c33c9ad0d1fb04487a55e7f43c0b92 Mon Sep 17 00:00:00 2001 From: Callum Birks Date: Tue, 18 Jul 2023 13:11:15 +0100 Subject: [PATCH 1/2] Set ReplicatorAPITest proxy options from _sg.proxy --- Replicator/tests/ReplicatorAPITest.hh | 38 ++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/Replicator/tests/ReplicatorAPITest.hh b/Replicator/tests/ReplicatorAPITest.hh index f273b7c77..9f9ccc1b1 100644 --- a/Replicator/tests/ReplicatorAPITest.hh +++ b/Replicator/tests/ReplicatorAPITest.hh @@ -134,7 +134,43 @@ class ReplicatorAPITest : public C4Test { enc.writeString(_sg.networkInterface); } - // TODO: Set proxy settings from _proxy + if ( _sg.proxy ) { + enc.writeKey(C4STR(kC4ReplicatorProxyType)); + slice proxyType; + switch ( _sg.proxy->type ) { + case ProxyType::HTTP: + proxyType = slice(kC4ProxyTypeHTTP); + case ProxyType::HTTPS: + proxyType = slice(kC4ProxyTypeHTTPS); + // TODO: Once SOCKS is implemented (CBL-4715) + // case ProxyType::SOCKS: + // proxyType = slice(kC4ProxyTypeSOCKS); + default: + proxyType = kC4ProxyTypeNone; + } + enc.writeString(proxyType); + if ( proxyType != slice(kC4ProxyTypeNone) ) { + enc.writeKey(kC4ReplicatorProxyHost); + enc.writeString(_sg.proxy->hostname); + + enc.writeKey(kC4ReplicatorProxyPort); + enc.writeInt(_sg.proxy->port); + + enc.writeKey(kC4ReplicatorProxyAuth); + enc.beginDict(); + + enc.writeKey(kC4ReplicatorAuthType); + enc.writeString(kC4AuthTypeBasic); + + enc.writeKey(kC4ReplicatorAuthUserName); + enc.writeString(_sg.proxy->username); + + enc.writeKey(kC4ReplicatorAuthPassword); + enc.writeString(_sg.proxy->password); + + enc.endDict(); + } + } // Copy any preexisting options: for ( Dict::iterator i(_options.asDict()); i; ++i ) { enc.writeKey(i.keyString()); From 23dfe0d9369c76584d4c88828b7bf3351285ee5d Mon Sep 17 00:00:00 2001 From: Callum Birks Date: Thu, 20 Jul 2023 12:19:04 +0100 Subject: [PATCH 2/2] Adjust SOCKS comment --- Replicator/tests/ReplicatorAPITest.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Replicator/tests/ReplicatorAPITest.hh b/Replicator/tests/ReplicatorAPITest.hh index 9f9ccc1b1..3e3a0020c 100644 --- a/Replicator/tests/ReplicatorAPITest.hh +++ b/Replicator/tests/ReplicatorAPITest.hh @@ -142,7 +142,7 @@ class ReplicatorAPITest : public C4Test { proxyType = slice(kC4ProxyTypeHTTP); case ProxyType::HTTPS: proxyType = slice(kC4ProxyTypeHTTPS); - // TODO: Once SOCKS is implemented (CBL-4715) + // If we ever support SOCKS // case ProxyType::SOCKS: // proxyType = slice(kC4ProxyTypeSOCKS); default: