io.netty.handler.codec.http.HttpResponseStatus # CONTINUE 源码实例Demo

下面列出了 io.netty.handler.codec.http.HttpResponseStatus # CONTINUE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。


@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception
{
    if (msg instanceof HttpResponse) {
        ctx.channel().attr(ATTR_HTTP_RESP).set((HttpResponse) msg);
    }
    
    try {
        super.write(ctx, msg, promise);
    }
    finally {
        if (msg instanceof LastHttpContent) {

            boolean dontFireCompleteYet = false;
            if (msg instanceof HttpResponse) {
                // Handle case of 100 CONTINUE, where server sends an initial 100 status response to indicate to client
                // that it can continue sending the initial request body.
                // ie. in this case we don't want to consider the state to be COMPLETE until after the 2nd response.
                if (((HttpResponse) msg).status() == HttpResponseStatus.CONTINUE) {
                    dontFireCompleteYet = true;
                }
            }

            if (!dontFireCompleteYet)
                if (promise.isDone()) {
                    fireCompleteEventIfNotAlready(ctx, CompleteReason.SESSION_COMPLETE);
                } else {
                    promise.addListener(future -> {
                        fireCompleteEventIfNotAlready(ctx, CompleteReason.SESSION_COMPLETE);
                    });
                }
        }
    }
}
 

private void send100Continue(ChannelHandlerContext ctx) {
    FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
    ctx.write(response);
}
 
源代码3 项目: termd   文件: HttpRequestHandler.java

private static void send100Continue(ChannelHandlerContext ctx) {
  FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
  ctx.writeAndFlush(response);
}
 
源代码4 项目: Sentinel   文件: HttpServerHandler.java

private void send100Continue(ChannelHandlerContext ctx) {
    FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
    ctx.write(response);
}
 
源代码5 项目: arthas   文件: HttpRequestHandler.java

private static void send100Continue(ChannelHandlerContext ctx) {
    FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
    ctx.writeAndFlush(response);
}
 
源代码6 项目: pulsar   文件: NettyHttpServerHandler.java

private static void send100Continue(ChannelHandlerContext ctx) {
    FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
    ctx.write(response);
}
 

private static void send100Continue(ChannelHandlerContext ctx) {
    FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
    ctx.writeAndFlush(response);
}
 

private void send100Continue(ChannelHandlerContext ctx) {
	FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
	ctx.writeAndFlush( response );
}
 
源代码9 项目: termd   文件: HttpRequestHandler.java

private static void send100Continue(ChannelHandlerContext ctx) {
  FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE);
  ctx.writeAndFlush(response);
}