• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

grpc / grpc-java / #20337

26 Jun 2026 11:37AM UTC coverage: 89.06% (+0.2%) from 88.876%
#20337

push

github

web-flow
Ext_proc filter and client interceptor (#12792)

Implements ext_proc filter from [grfc A93](https://github.com/grpc/proposal/pull/484)  (internal [design doc](http://go/ext-proc-design-java)).

37585 of 42202 relevant lines covered (89.06%)

0.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

83.33
/../xds/src/main/java/io/grpc/xds/internal/grpcservice/HeaderValue.java
1
/*
2
 * Copyright 2025 The gRPC Authors
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *     http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16

17
package io.grpc.xds.internal.grpcservice;
18

19
import com.google.auto.value.AutoValue;
20
import com.google.protobuf.ByteString;
21
import java.util.Optional;
22

23
/**
24
 * Represents a header to be mutated or added as part of xDS configuration.
25
 * Avoids direct dependency on Envoy's proto objects while providing an immutable representation.
26
 */
27
@AutoValue
28
public abstract class HeaderValue {
1✔
29

30
  public static HeaderValue create(String key, String value) {
31
    HeaderValueValidationUtils.validateHeaderValue(key, value);
1✔
32
    return new AutoValue_HeaderValue(key, Optional.of(value), Optional.empty(), true);
1✔
33
  }
34

35
  public static HeaderValue create(String key, ByteString rawValue) {
36
    HeaderValueValidationUtils.validateHeaderValue(key, rawValue);
1✔
37
    return new AutoValue_HeaderValue(key, Optional.empty(), Optional.of(rawValue), true);
1✔
38
  }
39

40
  public static HeaderValue createInvalid(String key) {
41
    return new AutoValue_HeaderValue(key, Optional.empty(), Optional.empty(), false);
×
42
  }
43

44
  public abstract String key();
45

46
  public abstract Optional<String> value();
47

48
  public abstract Optional<ByteString> rawValue();
49

50
  public abstract boolean isValid();
51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc