private static List<HttpCookie> toHttpCookie(Set<Cookie> nettyCookies) { List<HttpCookie> result = new ArrayList<HttpCookie>(); for (Cookie n : nettyCookies) { HttpCookie cookie = new HttpCookie(n.getName(), n.getValue()); cookie.setSecure(n.isSecure()); cookie.setPath(n.getPath()); cookie.setDomain(n.getDomain()); // Unspecified max-age in Netty is Integer.MIN_VALUE, while it's -1 in java.net.HttpCookie long maxAge = n.getMaxAge() == Integer.MIN_VALUE ? -1 : n.getMaxAge(); cookie.setMaxAge(maxAge); cookie.setDiscard(n.isDiscard()); cookie.setVersion(n.getVersion()); result.add(cookie); } return result; } }
protected void handleCookie(HttpRequest request) { // FIXME: Check if cookies are enabled in the server cookie = DEFAULT_COOKIE; String cookieHeader = request.getHeader(COOKIE); if (cookieHeader != null) { Set<Cookie> cookies = COOKIE_DECODER.decode(cookieHeader); for (Cookie c : cookies) { if (c.getName().equals(JSESSIONID)) { c.setPath("/"); CookieEncoder cookieEncoder = new CookieEncoder(true); cookieEncoder.addCookie(c); cookie = cookieEncoder.encode(); } } } } }
@Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent e) throws Exception { HttpResponse response = (HttpResponse)e.getMessage(); if (httpRequiresSessionId && !active) { Set<Cookie> cookieMap = cookieDecoder.decode(response.getHeader(HttpHeaders.Names.SET_COOKIE)); for (Cookie cookie : cookieMap) { if (cookie.getName().equals("JSESSIONID")) { cookieEncoder.addCookie(cookie); this.cookie = cookieEncoder.encode(); } } active = true; handShakeFuture.run(); } MessageEvent event = new UpstreamMessageEvent(e.getChannel(), response.getContent(), e.getRemoteAddress()); waitingGet = false; ctx.sendUpstream(event); }
private static List<HttpCookie> toHttpCookie(Set<Cookie> nettyCookies) { List<HttpCookie> result = new ArrayList<HttpCookie>(); for (Cookie n : nettyCookies) { HttpCookie cookie = new HttpCookie(n.getName(), n.getValue()); cookie.setSecure(n.isSecure()); cookie.setPath(n.getPath()); cookie.setDomain(n.getDomain()); // Unspecified max-age in Netty is Integer.MIN_VALUE, while it's -1 in java.net.HttpCookie long maxAge = n.getMaxAge() == Integer.MIN_VALUE ? -1 : n.getMaxAge(); cookie.setMaxAge(maxAge); cookie.setDiscard(n.isDiscard()); cookie.setVersion(n.getVersion()); result.add(cookie); } return result; } }