@Override public List<String> headers(String name) { return httpRequest.getHeaders(name); }
@Override public List<Map.Entry<String, String>> allHeaders() { return httpRequest.getHeaders(); }
@Override public List<Map.Entry<String, String>> getHeaders() { return request.getHeaders(); }
@Override public List<String> headers(String name) { return httpRequest.getHeaders(name); }
@Override public List<Map.Entry<String, String>> allHeaders() { return httpRequest.getHeaders(); }
public Map<String, String> headers() { if (headers == null) { headers = HeaderUtils.simplifyHeaders(request.getHeaders()); } return headers; }
public static MultivaluedMap<String, String> extractRequestHeaders(HttpRequest request) { Headers<String> requestHeaders = new Headers<String>(); for (Map.Entry<String, String> header : request.getHeaders()) { requestHeaders.add(header.getKey(), header.getValue()); } return requestHeaders; } }
@Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent evt) throws Exception { final HttpRequest req = (HttpRequest)evt.getMessage(); final Level level = Level.FINE; if (s_logger.isLoggable(level)) { final String content = req.getContent().toString(Charset.defaultCharset()); final StringBuilder s = new StringBuilder(); s.append(">"); s.append(req.getMethod()); s.append(" "); s.append(req.getUri()); s.append("\n"); for(final Map.Entry<String, String> header: req.getHeaders()) { s.append(" "); s.append(header.getKey()); s.append(": "); s.append(header.getValue()); s.append("\n"); } s.append(content); s_logger.log(Level.FINE, s.toString()); } super.messageReceived(ctx, evt); }
private InBoundHeaders getHeaders(HttpRequest request) { InBoundHeaders headers = new InBoundHeaders(); for (String name : request.getHeaderNames()) { headers.put(name, request.getHeaders(name)); } return headers; } }
if (content.readable()) { Map<String, String> messageHeaders = new HashMap<String, String>(); for (Entry<String, String> entry : request.getHeaders()) { if (entry.getKey().equalsIgnoreCase("Content-Type")) { charsetToUse = MediaType.parseMediaType(entry.getValue()).getCharSet();
buf.append("METHOD: " + request.getMethod().getName() + "\r\n\r\n"); for (Map.Entry<String, String> h: request.getHeaders()) { buf.append("HEADER: " + h.getKey() + " = " + h.getValue() + "\r\n");
@Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { org.jboss.netty.handler.codec.http.HttpRequest nettyRequest = (org.jboss.netty.handler.codec.http.HttpRequest) e.getMessage(); // convert request to our internal request Map<String,List<String>> headers = new HashMap<String,List<String>>(); for (String headerName : nettyRequest.getHeaderNames()) { headers.put(headerName,nettyRequest.getHeaders(headerName)); } // see if we have a body byte[] content = null; if(nettyRequest.getContent().hasArray() && nettyRequest.getContent().array().length > 0) { content = nettyRequest.getContent().array(); } else if(nettyRequest.getContent().readableBytes() > 0) { // netty content not backed by array, need to copy content = new byte[nettyRequest.getContent().readableBytes()]; nettyRequest.getContent().readBytes(content); } HttpRequest request = new HttpRequest(nettyRequest.getMethod().getName(),new URI(nettyRequest.getUri()).getPath(),headers,content); // create a temp actor to handle the response ActorRef replyActor = actorSystem.tempActorOf(HttpServiceResponseHandler.class, new HttpServiceResponseHandler.State(ctx.getChannel())); // put the actor in the attachment to propagate disconnects ctx.setAttachment(replyActor); // async handling if(!httpService.doDispatch(request,replyActor)) { // send 404 ctx.getChannel().write(new DefaultHttpResponse(HttpVersion.HTTP_1_1,HttpResponseStatus.NOT_FOUND)).addListener(ChannelFutureListener.CLOSE); actorSystem.stop(replyActor); } }