public int getStatus() { return m_nettyhttpresp.getStatus().code(); }
@Test public void testGetResponseServerError() throws Exception { ByteBuf bb = Unpooled.wrappedBuffer( "HTTP/1.1 500 Internal Server Error\r\nServer: xio\r\n\r\n\r\n".getBytes()); DefaultFullHttpResponse response = BBtoHttpResponse.getResponse(bb); assertEquals(HttpResponseStatus.INTERNAL_SERVER_ERROR, response.getStatus()); assertEquals("xio", response.headers().get("Server")); } }
@Test public void testGetResponseOK() throws Exception { ByteBuf bb = Unpooled.wrappedBuffer("HTTP/1.1 200 OK\r\nServer: xio\r\n\r\n\r\n".getBytes()); DefaultFullHttpResponse response = BBtoHttpResponse.getResponse(bb); assertEquals(HttpResponseStatus.OK, response.getStatus()); assertEquals("xio", response.headers().get("Server")); }
@Override public DefaultFullHttpResponse handler(HttpContext context, DefaultFullHttpResponse response) { if (accessLogAppender != null) { String accessOnce = new AccessLogGenerator() .setIp(context.getRemoteAddress()) .setTime(new Date(context.getCreationTime())) .setHttpMethod(context.getRequestMethod().name()) .setURL(context.getUri()) .setHttpCode(response.getStatus().hashCode()) .setConsume(System.currentTimeMillis() - context.getCreationTime()) .setTransitionSize(response.content().readableBytes()) .setReqeustID(context.getRequestId()) .makeAccess(); accessLogAppender.writeLine(accessOnce); } return super.handler(context, response); }