List of usage examples for io.netty.handler.codec.http HttpRequest getUri
@Deprecated String getUri();
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); }