Example usage for io.netty.handler.codec.http HttpRequest getUri

List of usage examples for io.netty.handler.codec.http HttpRequest getUri

Introduction

In this page you can find the example usage for io.netty.handler.codec.http HttpRequest getUri.

Prototype

@Deprecated
String getUri();

Source Link

Usage

From source file:test.netty.HttpCollectorServerHandler.java

License:Apache License

@Override
protected void messageReceived(ChannelHandlerContext ctx, Object msg) {
    if (msg instanceof HttpRequest) {
        HttpRequest request = this.request = (HttpRequest) msg;

        if (is100ContinueExpected(request)) {
            send100Continue(ctx);//from   w w  w .  j  av  a2 s  . co  m
        }

        buf.setLength(0);
        buf.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
        buf.append("===================================\r\n");

        buf.append("VERSION: ").append(request.getProtocolVersion()).append("\r\n");
        buf.append("HOSTNAME: ").append(getHost(request, "unknown")).append("\r\n");
        buf.append("REQUEST_URI: ").append(request.getUri()).append("\r\n\r\n");

        HttpHeaders headers = request.headers();
        if (!headers.isEmpty()) {
            for (Map.Entry<String, String> h : headers) {
                String key = h.getKey();
                String value = h.getValue();
                buf.append("HEADER: ").append(key).append(" = ").append(value).append("\r\n");
            }
            buf.append("\r\n");
        }

        QueryStringDecoder queryStringDecoder = new QueryStringDecoder(request.getUri());
        Map<String, List<String>> params = queryStringDecoder.parameters();
        if (!params.isEmpty()) {
            for (Entry<String, List<String>> p : params.entrySet()) {
                String key = p.getKey();
                List<String> vals = p.getValue();
                for (String val : vals) {
                    buf.append("PARAM: ").append(key).append(" = ").append(val).append("\r\n");
                }
            }
            buf.append("\r\n");
        }

        appendDecoderResult(buf, request);
    }

    if (msg instanceof HttpContent) {
        HttpContent httpContent = (HttpContent) msg;

        ByteBuf content = httpContent.content();
        if (content.isReadable()) {
            buf.append("CONTENT: ");
            buf.append(content.toString(CharsetUtil.UTF_8));
            buf.append("\r\n");
            appendDecoderResult(buf, request);
        }

        if (msg instanceof LastHttpContent) {
            buf.append("END OF CONTENT\r\n");

            LastHttpContent trailer = (LastHttpContent) msg;
            if (!trailer.trailingHeaders().isEmpty()) {
                buf.append("\r\n");
                for (String name : trailer.trailingHeaders().names()) {
                    for (String value : trailer.trailingHeaders().getAll(name)) {
                        buf.append("TRAILING HEADER: ");
                        buf.append(name).append(" = ").append(value).append("\r\n");
                    }
                }
                buf.append("\r\n");
            }

            writeResponse(trailer, ctx);
        }
    }
}

From source file:testserver.routes.Redirect.java

License:Apache License

@Override
public void handle(ChannelHandlerContext ctx, HttpRequest request) {
    QueryStringDecoder qsd = new QueryStringDecoder(request.getUri());
    List<String> newUri = qsd.parameters().get("uri");
    HttpResponse response;//from w ww  .j a v  a  2  s .c om
    if (newUri == null) {
        response = StdResponses.BADREQUEST.resp();
    } else {
        Statistic.addRedirect(newUri.get(0));
        response = new DefaultFullHttpResponse(HTTP_1_1, FOUND);
        response.headers().set(LOCATION, newUri.get(0));
    }
    ctx.writeAndFlush(response).addListener(CLOSE);
}

From source file:testserver.routes.RoutesTable.java

License:Apache License

public static void dispatch(ChannelHandlerContext ctx, HttpRequest request) {
    RouteHandler route;//from www  . ja  va2s. com
    if (request.getMethod() != GET) {
        route = new RouteHandler() {
            @Override
            public void handle(ChannelHandlerContext ctx, HttpRequest request) {
                HttpResponse response = StdResponses.BADREQUEST.resp();
                ctx.writeAndFlush(response).addListener(CLOSE);
            }
        };
    } else {
        QueryStringDecoder query = new QueryStringDecoder(request.getUri());
        route = rt.get(query.path());
    }
    if (route == null) {
        route = new RouteHandler() {
            @Override
            public void handle(ChannelHandlerContext ctx, HttpRequest request) {
                HttpResponse response = StdResponses.NOTFOUND.resp();
                ctx.writeAndFlush(response).addListener(CLOSE);
            }
        };
    }
    route.handle(ctx, request);
}

From source file:testserver.Statistic.java

License:Apache License

public static void addQuery(ChannelHandlerContext ctx, HttpRequest request) {
    String ip = ((InetSocketAddress) ctx.channel().remoteAddress()).getAddress().getHostAddress();
    List<Object> found = requestsPerIp.get(ip);
    List<Object> row = new LinkedList<>();
    if (found == null) {
        row.add(1);//from  w w  w.  j  a  v  a  2 s .c o  m
    } else {
        row.add((Integer) found.get(0) + 1);
    }
    Calendar cal = Calendar.getInstance();
    row.add(cal.getTime());
    requestsPerIp.put(ip, row);

    while (lastQueries.size() > 16) {
        lastQueries.remove();
    }

    row = new LinkedList<>();
    row.add(ip);
    row.add(request.getUri());
    row.add(cal.getTime());
    ctx.pipeline().fireUserEventTriggered(row);

}