Skip to content

Commit

Permalink
xds: HttpFilter support
Browse files Browse the repository at this point in the history
  • Loading branch information
dapengzhang0 authored Mar 17, 2021
1 parent 69587c5 commit 3ebb3e1
Show file tree
Hide file tree
Showing 17 changed files with 1,555 additions and 955 deletions.
356 changes: 175 additions & 181 deletions xds/src/main/java/io/grpc/xds/ClientXdsClient.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -19,35 +19,31 @@
import static com.google.common.base.Preconditions.checkNotNull;

import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
import io.grpc.Status;
import io.grpc.xds.Matchers.HeaderMatcher;
import java.util.List;
import io.grpc.xds.Filter.FilterConfig;
import javax.annotation.Nullable;

/** Fault injection configurations. */
@AutoValue
abstract class HttpFault {
abstract class FaultConfig implements FilterConfig {
@Nullable
abstract FaultDelay faultDelay();

@Nullable
abstract FaultAbort faultAbort();

abstract String upstreamCluster();

abstract ImmutableList<String> downstreamNodes();

abstract ImmutableList<HeaderMatcher> headers();

@Nullable
abstract Integer maxActiveFaults();

static HttpFault create(@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
String upstreamCluster, List<String> downstreamNodes, List<HeaderMatcher> headers,
@Override
public final String typeUrl() {
return FaultFilter.TYPE_URL;
}

static FaultConfig create(
@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
@Nullable Integer maxActiveFaults) {
return new AutoValue_HttpFault(faultDelay, faultAbort, upstreamCluster,
ImmutableList.copyOf(downstreamNodes), ImmutableList.copyOf(headers), maxActiveFaults);
return new AutoValue_FaultConfig(faultDelay, faultAbort, maxActiveFaults);
}

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

private static FaultDelay create(
@Nullable Long delayNanos, boolean headerDelay, FractionalPercent percent) {
return new AutoValue_HttpFault_FaultDelay(delayNanos, headerDelay, percent);
return new AutoValue_FaultConfig_FaultDelay(delayNanos, headerDelay, percent);
}
}

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

private static FaultAbort create(
@Nullable Status status, boolean headerAbort, FractionalPercent percent) {
return new AutoValue_HttpFault_FaultAbort(status, headerAbort, percent);
return new AutoValue_FaultConfig_FaultAbort(status, headerAbort, percent);
}
}

Expand Down Expand Up @@ -123,7 +119,7 @@ static FractionalPercent perMillion(int numerator) {

static FractionalPercent create(
int numerator, DenominatorType denominatorType) {
return new AutoValue_HttpFault_FractionalPercent(numerator, denominatorType);
return new AutoValue_FaultConfig_FractionalPercent(numerator, denominatorType);
}
}
}
Loading

0 comments on commit 3ebb3e1

Please sign in to comment.