Skip to content

Commit 4abd727

Browse files
committed
Move RFC 3986 feature flag to 'api'
1 parent 7eee128 commit 4abd727

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

api/src/main/java/io/grpc/InternalFeatureFlags.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,27 @@
1616

1717
package io.grpc;
1818

19+
import com.google.common.annotations.VisibleForTesting;
1920
import com.google.common.base.Strings;
2021

22+
/** Global variables that govern major changes to the behavior of more than one grpc module. */
2123
@Internal
2224
public class InternalFeatureFlags {
25+
private static boolean enableRfc3986Uris = getFlag("GRPC_ENABLE_RFC3986_URIS", false);
26+
27+
/** Whether to parse targets as RFC 3986 URIs (true), or use {@link java.net.URI} (false). */
28+
@VisibleForTesting
29+
public static boolean setRfc3986UrisEnabled(boolean value) {
30+
boolean prevValue = enableRfc3986Uris;
31+
enableRfc3986Uris = value;
32+
return prevValue;
33+
}
34+
35+
/** Whether to parse targets as RFC 3986 URIs (true), or use {@link java.net.URI} (false). */
36+
public static boolean getRfc3986UrisEnabled() {
37+
return enableRfc3986Uris;
38+
}
39+
2340
public static boolean getFlag(String envVarName, boolean enableByDefault) {
2441
String envVar = System.getenv(envVarName);
2542
if (envVar == null) {

core/src/main/java/io/grpc/internal/ManagedChannelImplBuilder.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import io.grpc.EquivalentAddressGroup;
3939
import io.grpc.InternalChannelz;
4040
import io.grpc.InternalConfiguratorRegistry;
41+
import io.grpc.InternalFeatureFlags;
4142
import io.grpc.ManagedChannel;
4243
import io.grpc.ManagedChannelBuilder;
4344
import io.grpc.MethodDescriptor;
@@ -106,16 +107,6 @@ public static ManagedChannelBuilder<?> forTarget(String target) {
106107
*/
107108
static final long IDLE_MODE_MIN_TIMEOUT_MILLIS = TimeUnit.SECONDS.toMillis(1);
108109

109-
private static boolean enableRfc3986Uris = GrpcUtil.getFlag("GRPC_ENABLE_RFC3986_URIS", false);
110-
111-
/** Whether to parse targets as RFC 3986 URIs (true), or use {@link java.net.URI} (false). */
112-
@VisibleForTesting
113-
static boolean setRfc3986UrisEnabled(boolean value) {
114-
boolean prevValue = ManagedChannelImplBuilder.enableRfc3986Uris;
115-
ManagedChannelImplBuilder.enableRfc3986Uris = value;
116-
return prevValue;
117-
}
118-
119110
private static final ObjectPool<? extends Executor> DEFAULT_EXECUTOR_POOL =
120111
SharedResourcePool.forResource(GrpcUtil.SHARED_CHANNEL_EXECUTOR);
121112

@@ -731,7 +722,7 @@ public ManagedChannel build() {
731722
ClientTransportFactory clientTransportFactory =
732723
clientTransportFactoryBuilder.buildClientTransportFactory();
733724
ResolvedNameResolver resolvedResolver =
734-
enableRfc3986Uris
725+
InternalFeatureFlags.getRfc3986UrisEnabled()
735726
? getNameResolverProviderRfc3986(target, nameResolverRegistry)
736727
: getNameResolverProvider(target, nameResolverRegistry);
737728
resolvedResolver.checkAddressTypes(clientTransportFactory.getSupportedSocketAddressTypes());

core/src/test/java/io/grpc/internal/ManagedChannelImplBuilderTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import io.grpc.DecompressorRegistry;
4141
import io.grpc.InternalConfigurator;
4242
import io.grpc.InternalConfiguratorRegistry;
43+
import io.grpc.InternalFeatureFlags;
4344
import io.grpc.InternalManagedChannelBuilder.InternalInterceptorFactory;
4445
import io.grpc.ManagedChannel;
4546
import io.grpc.ManagedChannelBuilder;
@@ -129,7 +130,7 @@ public static Iterable<Object[]> data() {
129130
@Before
130131
public void setUp() throws Exception {
131132
flagResetRule.setFlagForTest(
132-
ManagedChannelImplBuilder::setRfc3986UrisEnabled, enableRfc3986UrisParam);
133+
InternalFeatureFlags::setRfc3986UrisEnabled, enableRfc3986UrisParam);
133134

134135
builder = new ManagedChannelImplBuilder(
135136
DUMMY_TARGET,

0 commit comments

Comments
 (0)