本文整理汇总了Java中io.netty.handler.codec.http2.Http2CodecUtil类的典型用法代码示例。如果您正苦于以下问题:Java Http2CodecUtil类的具体用法?Java Http2CodecUtil怎么用?Java Http2CodecUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Http2CodecUtil类属于io.netty.handler.codec.http2包,在下文中一共展示了Http2CodecUtil类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: channelRead
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
if (needsToFilterUpgradeResponse && msg instanceof HttpResponse) {
needsToFilterUpgradeResponse = false;
final HttpResponse res = (HttpResponse) msg;
if (res.status().code() == HttpResponseStatus.SWITCHING_PROTOCOLS.code()) {
final HttpHeaders headers = res.headers();
if (!headers.contains(HttpHeaderNames.UPGRADE)) {
headers.set(HttpHeaderNames.UPGRADE,
Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME);
}
}
if (!needsToFilterUpgradeRequest) {
ctx.pipeline().remove(this);
}
}
ctx.fireChannelRead(msg);
}
开发者ID:line,项目名称:armeria,代码行数:21,代码来源:HttpClientPipelineConfigurator.java
示例2: configureHttp1WithUpgrade
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
private void configureHttp1WithUpgrade(ChannelHandlerContext ctx) {
final ChannelPipeline p = ctx.pipeline();
final HttpServerCodec http1codec = new HttpServerCodec(
config.defaultMaxHttp1InitialLineLength(),
config.defaultMaxHttp1HeaderSize(),
config.defaultMaxHttp1ChunkSize());
String baseName = name;
baseName = addAfter(p, baseName, http1codec);
baseName = addAfter(p, baseName, new HttpServerUpgradeHandler(
http1codec,
protocol -> {
if (!AsciiString.contentEquals(Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME, protocol)) {
return null;
}
return new Http2ServerUpgradeCodec(
newHttp2ConnectionHandler(p));
},
UPGRADE_REQUEST_MAX_LENGTH));
addAfter(p, baseName, new Http1RequestDecoder(config, ctx.channel(), SCHEME_HTTP));
}
开发者ID:line,项目名称:armeria,代码行数:24,代码来源:HttpServerPipelineConfigurator.java
示例3: manualSetUp
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Override
protected void manualSetUp() throws Exception {
assertNull("manualSetUp should not run more than once", handler());
initChannel(new GrpcHttp2ServerHeadersDecoder(GrpcUtil.DEFAULT_MAX_HEADER_LIST_SIZE));
// replace the keepAliveManager with spyKeepAliveManager
spyKeepAliveManager =
mock(KeepAliveManager.class, delegatesTo(handler().getKeepAliveManagerForTest()));
handler().setKeepAliveManagerForTest(spyKeepAliveManager);
// Simulate receipt of the connection preface
handler().handleProtocolNegotiationCompleted(Attributes.EMPTY);
channelRead(Http2CodecUtil.connectionPrefaceBuf());
// Simulate receipt of initial remote settings.
ByteBuf serializedSettings = serializeSettings(new Http2Settings());
channelRead(serializedSettings);
}
开发者ID:grpc,项目名称:grpc-java,代码行数:19,代码来源:NettyServerHandlerTest.java
示例4: transportTracer_windowUpdate_local
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Test
public void transportTracer_windowUpdate_local() throws Exception {
manualSetUp();
TransportStats before = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, before.remoteFlowControlWindow);
assertEquals(flowControlWindow, before.localFlowControlWindow);
// If the window size is below a certain threshold, netty will wait to apply the update.
// Use a large increment to be sure that it exceeds the threshold.
connection().local().flowController().incrementWindowSize(
connection().connectionStream(), 8 * Http2CodecUtil.DEFAULT_WINDOW_SIZE);
TransportStats after = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, after.remoteFlowControlWindow);
assertEquals(flowControlWindow + 8 * Http2CodecUtil.DEFAULT_WINDOW_SIZE,
connection().local().flowController().windowSize(connection().connectionStream()));
}
开发者ID:grpc,项目名称:grpc-java,代码行数:18,代码来源:NettyHandlerTestBase.java
示例5: newUpgradeCodec
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Override
public UpgradeCodec newUpgradeCodec(CharSequence protocol) {
if (AsciiString.contentEquals(Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME, protocol)) {
return new Http2ServerUpgradeCodec(new Http2MultiplexCodec(true,
new HelloWorldHttp2Handler()));
} else {
return null;
}
}
开发者ID:cowthan,项目名称:JavaAyo,代码行数:10,代码来源:Http2ServerInitializer.java
示例6: newUpgradeCodec
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Override
public UpgradeCodec newUpgradeCodec(CharSequence protocol) {
if (AsciiString.contentEquals(Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME, protocol)) {
return new Http2ServerUpgradeCodec(new HelloWorldHttp2HandlerBuilder().build());
} else {
return null;
}
}
开发者ID:cowthan,项目名称:JavaAyo,代码行数:9,代码来源:Http2ServerInitializer.java
示例7: userEventTriggered
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
if (evt instanceof UpgradeEvent) {
// Generate the initial Http2Settings frame,
// so that the next handler knows the protocol upgrade occurred as well.
ctx.fireChannelRead(DEFAULT_HTTP2_SETTINGS);
// Continue handling the upgrade request after the upgrade is complete.
final FullHttpRequest nettyReq = ((UpgradeEvent) evt).upgradeRequest();
// Remove the headers related with the upgrade.
nettyReq.headers().remove(HttpHeaderNames.CONNECTION);
nettyReq.headers().remove(HttpHeaderNames.UPGRADE);
nettyReq.headers().remove(Http2CodecUtil.HTTP_UPGRADE_SETTINGS_HEADER);
if (logger.isDebugEnabled()) {
logger.debug("{} Handling the pre-upgrade request ({}): {} {} {} ({}B)",
ctx.channel(), ((UpgradeEvent) evt).protocol(),
nettyReq.method(), nettyReq.uri(), nettyReq.protocolVersion(),
nettyReq.content().readableBytes());
}
channelRead(ctx, nettyReq);
channelReadComplete(ctx);
return;
}
ctx.fireUserEventTriggered(evt);
}
开发者ID:line,项目名称:armeria,代码行数:30,代码来源:Http1RequestDecoder.java
示例8: writeHeaders
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
private void writeHeaders(
ChannelHandlerContext ctx, Http2Headers headers, boolean eos, ChannelPromise promise)
throws Exception {
encoder()
.writeHeaders(
ctx,
currentStreamId,
headers,
0,
Http2CodecUtil.DEFAULT_PRIORITY_WEIGHT,
false,
0,
eos,
promise);
}
开发者ID:xjdr,项目名称:xio,代码行数:16,代码来源:Http2Handler.java
示例9: h2cOrHttp1
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
private void h2cOrHttp1(final ChannelHandlerContext ctx) {
ChannelPipeline p = ctx.pipeline();
HttpServerCodec http1codec = http1Codec();
String baseName = name;
baseName = addAfter(p, baseName, "codec", http1codec);
baseName = addAfter(p, baseName, "h2upgrade",
new HttpServerUpgradeHandler(http1codec, protocol -> {
if (!AsciiString.contentEquals(Http2CodecUtil.HTTP_UPGRADE_PROTOCOL_NAME, protocol)) {
return null;
}
return new Http2ServerUpgradeCodec(newHttp2ConnectionHandler(p));
}, maxContentLength));
}
开发者ID:jooby-project,项目名称:jooby,代码行数:15,代码来源:NettyPipeline.java
示例10: transportReadyDelayedUntilConnectionPreface
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Test
public void transportReadyDelayedUntilConnectionPreface() throws Exception {
initChannel(new GrpcHttp2ServerHeadersDecoder(GrpcUtil.DEFAULT_MAX_HEADER_LIST_SIZE));
handler().handleProtocolNegotiationCompleted(Attributes.EMPTY);
verify(transportListener, never()).transportReady(any(Attributes.class));
// Simulate receipt of the connection preface
channelRead(Http2CodecUtil.connectionPrefaceBuf());
channelRead(serializeSettings(new Http2Settings()));
verify(transportListener).transportReady(any(Attributes.class));
}
开发者ID:grpc,项目名称:grpc-java,代码行数:13,代码来源:NettyServerHandlerTest.java
示例11: transportTracer_windowSizeDefault
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Test
public void transportTracer_windowSizeDefault() throws Exception {
manualSetUp();
TransportStats transportStats = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, transportStats.remoteFlowControlWindow);
assertEquals(flowControlWindow, transportStats.localFlowControlWindow);
}
开发者ID:grpc,项目名称:grpc-java,代码行数:8,代码来源:NettyHandlerTestBase.java
示例12: transportTracer_windowSize
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Test
public void transportTracer_windowSize() throws Exception {
flowControlWindow = 1024 * 1024;
manualSetUp();
TransportStats transportStats = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, transportStats.remoteFlowControlWindow);
assertEquals(flowControlWindow, transportStats.localFlowControlWindow);
}
开发者ID:grpc,项目名称:grpc-java,代码行数:9,代码来源:NettyHandlerTestBase.java
示例13: transportTracer_windowUpdate_remote
import io.netty.handler.codec.http2.Http2CodecUtil; //导入依赖的package包/类
@Test
public void transportTracer_windowUpdate_remote() throws Exception {
manualSetUp();
TransportStats before = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, before.remoteFlowControlWindow);
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE, before.localFlowControlWindow);
ByteBuf serializedSettings = windowUpdate(0, 1000);
channelRead(serializedSettings);
TransportStats after = transportTracer.getStats();
assertEquals(Http2CodecUtil.DEFAULT_WINDOW_SIZE + 1000,
after.remoteFlowControlWindow);
assertEquals(flowControlWindow, after.localFlowControlWindow);
}
开发者ID:grpc,项目名称:grpc-java,代码行数:15,代码来源:NettyHandlerTestBase.java
注:本文中的io.netty.handler.codec.http2.Http2CodecUtil类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论