Coverage Summary for Class: Web3ResultHttpResponseHandler (co.rsk.rpc.netty)

Class Class, % Method, % Line, %
Web3ResultHttpResponseHandler 0% (0/1) 0% (0/3) 0% (0/7)


1 /* 2  * This file is part of RskJ 3  * Copyright (C) 2018 RSK Labs Ltd. 4  * 5  * This program is free software: you can redistribute it and/or modify 6  * it under the terms of the GNU Lesser General Public License as published by 7  * the Free Software Foundation, either version 3 of the License, or 8  * (at your option) any later version. 9  * 10  * This program is distributed in the hope that it will be useful, 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13  * GNU Lesser General Public License for more details. 14  * 15  * You should have received a copy of the GNU Lesser General Public License 16  * along with this program. If not, see <http://www.gnu.org/licenses/>. 17  */ 18 package co.rsk.rpc.netty; 19  20 import com.googlecode.jsonrpc4j.DefaultHttpStatusCodeProvider; 21 import io.netty.channel.ChannelFutureListener; 22 import io.netty.channel.ChannelHandlerContext; 23 import io.netty.channel.SimpleChannelInboundHandler; 24 import io.netty.handler.codec.http.DefaultFullHttpResponse; 25 import io.netty.handler.codec.http.HttpResponseStatus; 26 import io.netty.handler.codec.http.HttpVersion; 27 import static io.netty.handler.codec.http.HttpHeaders.Names.CONTENT_TYPE; 28 import static io.netty.handler.codec.http.HttpHeaders.Values.APPLICATION_JSON; 29  30 public class Web3ResultHttpResponseHandler extends SimpleChannelInboundHandler<Web3Result> { 31  32  @Override 33  protected void channelRead0(ChannelHandlerContext ctx, Web3Result msg) { 34  DefaultFullHttpResponse response = new DefaultFullHttpResponse( 35  HttpVersion.HTTP_1_1, 36  HttpResponseStatus.valueOf(DefaultHttpStatusCodeProvider.INSTANCE.getHttpStatusCode(msg.getCode())), 37  msg.getContent() 38  ); 39  40  response.headers().add(CONTENT_TYPE, APPLICATION_JSON); 41  42  ctx.write(response).addListener(ChannelFutureListener.CLOSE); 43  } 44  45  @Override 46  public void channelReadComplete(ChannelHandlerContext ctx) { 47  ctx.flush(); 48  } 49 }