Skip to content

Commit 9320464

Browse files
committed
Simplify a bit the usage of Http2HeadersMultiMap
1 parent 4d0dd20 commit 9320464

File tree

6 files changed

+17
-13
lines changed

6 files changed

+17
-13
lines changed

vertx-core/src/main/java/io/vertx/core/http/impl/http2/codec/Http2ConnectionImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import io.netty.buffer.*;
1515
import io.netty.channel.ChannelFuture;
1616
import io.netty.channel.ChannelHandlerContext;
17+
import io.netty.handler.codec.Headers;
1718
import io.netty.handler.codec.http2.DefaultHttp2Headers;
1819
import io.netty.handler.codec.http2.Http2Connection;
1920
import io.netty.handler.codec.http2.Http2Exception;
@@ -517,9 +518,9 @@ public void writePriorityFrame(int streamId, StreamPriority priority, Promise<Vo
517518
}
518519

519520
@Override
520-
public void writeHeaders(int streamId, Http2HeadersMultiMap headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
521+
public void writeHeaders(int streamId, Headers<CharSequence, CharSequence, ?> headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
521522
Http2Stream s = handler.connection().stream(streamId);
522-
handler.writeHeaders(s, (Http2Headers) headers.prepare().unwrap(), end, priority.getDependency(), priority.getWeight(), priority.isExclusive(), checkFlush, (FutureListener<Void>) promise);
523+
handler.writeHeaders(s, (Http2Headers) headers, end, priority.getDependency(), priority.getWeight(), priority.isExclusive(), checkFlush, (FutureListener<Void>) promise);
523524
}
524525

525526
@Override

vertx-core/src/main/java/io/vertx/core/http/impl/http2/multiplex/Http2MultiplexClientConnection.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package io.vertx.core.http.impl.http2.multiplex;
1212

1313
import io.netty.channel.ChannelHandlerContext;
14+
import io.netty.handler.codec.Headers;
1415
import io.netty.handler.codec.http2.DefaultHttp2HeadersFrame;
1516
import io.netty.handler.codec.http2.DefaultHttp2ResetFrame;
1617
import io.netty.handler.codec.http2.Http2Error;
@@ -190,8 +191,8 @@ public void createStream(HttpClientStreamState stream) throws Exception {
190191
}
191192

192193
@Override
193-
public void writeHeaders(int streamId, Http2HeadersMultiMap headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
194-
writeStreamFrame(streamId, new DefaultHttp2HeadersFrame((Http2Headers) headers.prepare().unwrap(), end), promise);
194+
public void writeHeaders(int streamId, Headers<CharSequence, CharSequence, ?> headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
195+
writeStreamFrame(streamId, new DefaultHttp2HeadersFrame((Http2Headers) headers, end), promise);
195196
}
196197

197198
@Override

vertx-core/src/main/java/io/vertx/core/http/impl/http2/multiplex/Http2MultiplexServerConnection.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package io.vertx.core.http.impl.http2.multiplex;
1212

1313
import io.netty.channel.ChannelHandlerContext;
14+
import io.netty.handler.codec.Headers;
1415
import io.netty.handler.codec.http2.DefaultHttp2HeadersFrame;
1516
import io.netty.handler.codec.http2.DefaultHttp2ResetFrame;
1617
import io.netty.handler.codec.http2.Http2Error;
@@ -103,13 +104,13 @@ void onInitialSettingsReceived(io.vertx.core.http.Http2Settings settings) {
103104
}
104105

105106
@Override
106-
public void writeHeaders(int streamId, Http2HeadersMultiMap headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
107-
Http2HeadersMultiMap prepare = headers.prepare();
108-
if (headers.status() != null && compressionManager != null) {
107+
public void writeHeaders(int streamId, Headers<CharSequence, CharSequence, ?> headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise) {
108+
Http2Headers prepare = (Http2Headers)headers;
109+
if (prepare.status() != null && compressionManager != null) {
109110
HttpServerStreamState stream = stream(streamId);
110-
compressionManager.setContentEncoding(stream.headers().unwrap(), headers.unwrap());
111+
compressionManager.setContentEncoding(stream.headers().unwrap(), prepare);
111112
}
112-
writeStreamFrame(streamId, new DefaultHttp2HeadersFrame((Http2Headers) prepare.unwrap(), end), promise);
113+
writeStreamFrame(streamId, new DefaultHttp2HeadersFrame((Http2Headers) prepare, end), promise);
113114
}
114115

115116

vertx-core/src/main/java/io/vertx/core/http/impl/spi/DefaultHttpStreamState.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,8 @@ void writeHeaders0(Http2HeadersMultiMap headers, boolean end, boolean checkFlush
333333
trailersSent = true;
334334
observeOutboundTrailers();
335335
}
336-
connection.writeHeaders(id, headers, priority, end, checkFlush, promise);
336+
headers.prepare();
337+
connection.writeHeaders(id, headers.unwrap(), priority, end, checkFlush, promise);
337338
}
338339

339340
public final void sendFile(ChunkedInput<ByteBuf> file, Promise<Void> promise) {

vertx-core/src/main/java/io/vertx/core/http/impl/spi/Http2HeadersMultiMap.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public Http2HeadersMultiMap sanitize() {
147147
return this;
148148
}
149149

150-
public Http2HeadersMultiMap prepare() {
150+
void prepare() {
151151
boolean ssl = "ssl".equals(scheme);
152152
if (method != null) {
153153
headers.set(HttpHeaders.PSEUDO_METHOD, method.toString());
@@ -167,7 +167,6 @@ public Http2HeadersMultiMap prepare() {
167167
if (status != null) {
168168
headers.set(HttpHeaders.PSEUDO_STATUS, status.toString());
169169
}
170-
return this;
171170
}
172171

173172
public Http2HeadersMultiMap status(CharSequence status) {

vertx-core/src/main/java/io/vertx/core/http/impl/spi/HttpConnectionProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package io.vertx.core.http.impl.spi;
1212

1313
import io.netty.buffer.ByteBuf;
14+
import io.netty.handler.codec.Headers;
1415
import io.netty.handler.stream.ChunkedInput;
1516
import io.vertx.core.Promise;
1617
import io.vertx.core.http.StreamPriority;
@@ -34,7 +35,7 @@ public interface HttpConnectionProvider {
3435

3536
void writeFrame(int streamId, int type, int flags, ByteBuf payload, Promise<Void> promise);
3637

37-
void writeHeaders(int streamId, Http2HeadersMultiMap headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise);
38+
void writeHeaders(int streamId, Headers<CharSequence, CharSequence, ?> headers, StreamPriority priority, boolean end, boolean checkFlush, Promise<Void> promise);
3839

3940
void writeData(int streamId, ByteBuf buf, boolean end, Promise<Void> promise);
4041

0 commit comments

Comments
 (0)