Skip to content

Commit 3ebb3e1

Browse files
authored
xds: HttpFilter support
1 parent 69587c5 commit 3ebb3e1

17 files changed

+1555
-955
lines changed

xds/src/main/java/io/grpc/xds/ClientXdsClient.java

Lines changed: 175 additions & 181 deletions
Large diffs are not rendered by default.

xds/src/main/java/io/grpc/xds/HttpFault.java renamed to xds/src/main/java/io/grpc/xds/FaultConfig.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,31 @@
1919
import static com.google.common.base.Preconditions.checkNotNull;
2020

2121
import com.google.auto.value.AutoValue;
22-
import com.google.common.collect.ImmutableList;
2322
import io.grpc.Status;
24-
import io.grpc.xds.Matchers.HeaderMatcher;
25-
import java.util.List;
23+
import io.grpc.xds.Filter.FilterConfig;
2624
import javax.annotation.Nullable;
2725

2826
/** Fault injection configurations. */
2927
@AutoValue
30-
abstract class HttpFault {
28+
abstract class FaultConfig implements FilterConfig {
3129
@Nullable
3230
abstract FaultDelay faultDelay();
3331

3432
@Nullable
3533
abstract FaultAbort faultAbort();
3634

37-
abstract String upstreamCluster();
38-
39-
abstract ImmutableList<String> downstreamNodes();
40-
41-
abstract ImmutableList<HeaderMatcher> headers();
42-
4335
@Nullable
4436
abstract Integer maxActiveFaults();
4537

46-
static HttpFault create(@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
47-
String upstreamCluster, List<String> downstreamNodes, List<HeaderMatcher> headers,
38+
@Override
39+
public final String typeUrl() {
40+
return FaultFilter.TYPE_URL;
41+
}
42+
43+
static FaultConfig create(
44+
@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
4845
@Nullable Integer maxActiveFaults) {
49-
return new AutoValue_HttpFault(faultDelay, faultAbort, upstreamCluster,
50-
ImmutableList.copyOf(downstreamNodes), ImmutableList.copyOf(headers), maxActiveFaults);
46+
return new AutoValue_FaultConfig(faultDelay, faultAbort, maxActiveFaults);
5147
}
5248

5349
/** Fault configurations for aborting requests. */
@@ -70,7 +66,7 @@ static FaultDelay forHeader(FractionalPercent percentage) {
7066

7167
private static FaultDelay create(
7268
@Nullable Long delayNanos, boolean headerDelay, FractionalPercent percent) {
73-
return new AutoValue_HttpFault_FaultDelay(delayNanos, headerDelay, percent);
69+
return new AutoValue_FaultConfig_FaultDelay(delayNanos, headerDelay, percent);
7470
}
7571
}
7672

@@ -95,7 +91,7 @@ static FaultAbort forHeader(FractionalPercent percent) {
9591

9692
private static FaultAbort create(
9793
@Nullable Status status, boolean headerAbort, FractionalPercent percent) {
98-
return new AutoValue_HttpFault_FaultAbort(status, headerAbort, percent);
94+
return new AutoValue_FaultConfig_FaultAbort(status, headerAbort, percent);
9995
}
10096
}
10197

@@ -123,7 +119,7 @@ static FractionalPercent perMillion(int numerator) {
123119

124120
static FractionalPercent create(
125121
int numerator, DenominatorType denominatorType) {
126-
return new AutoValue_HttpFault_FractionalPercent(numerator, denominatorType);
122+
return new AutoValue_FaultConfig_FractionalPercent(numerator, denominatorType);
127123
}
128124
}
129125
}

0 commit comments

Comments
 (0)