1919import static com .google .common .base .Preconditions .checkNotNull ;
2020
2121import com .google .auto .value .AutoValue ;
22- import com .google .common .collect .ImmutableList ;
2322import io .grpc .Status ;
24- import io .grpc .xds .Matchers .HeaderMatcher ;
25- import java .util .List ;
23+ import io .grpc .xds .Filter .FilterConfig ;
2624import 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