Skip to content

Commit 3efaccd

Browse files
netty: support status() on Headers
* netty: support `status()` on Headers Recent Netty change netty/netty@a91df58 caused the `status()` method to be invoked, which AbstractHttp2Headers does not implement. This change is necesary to upgrade to Netty 4.1.14
1 parent 04e0450 commit 3efaccd

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

netty/src/main/java/io/grpc/netty/GrpcHttp2HeadersUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ protected CharSequence get(AsciiString name) {
124124
return null;
125125
}
126126

127+
@Override
128+
public CharSequence status() {
129+
return get(Http2Headers.PseudoHeaderName.STATUS.value());
130+
}
131+
127132
@Override
128133
public List<CharSequence> getAll(CharSequence csName) {
129134
AsciiString name = requireAsciiString(csName);

netty/src/main/java/io/grpc/netty/GrpcHttp2OutboundHeaders.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ private GrpcHttp2OutboundHeaders(AsciiString[] preHeaders, byte[][] serializedMe
6666
this.preHeaders = preHeaders;
6767
}
6868

69+
@Override
70+
@SuppressWarnings("ReferenceEquality") // STATUS.value() never changes.
71+
public CharSequence status() {
72+
// preHeaders is never null. It has status as the first element or not at all.
73+
if (preHeaders.length >= 2 && preHeaders[0] == Http2Headers.PseudoHeaderName.STATUS.value()) {
74+
return preHeaders[1];
75+
}
76+
return null;
77+
}
78+
6979
@Override
7080
public Iterator<Entry<CharSequence, CharSequence>> iterator() {
7181
return new Itr();

0 commit comments

Comments
 (0)