@Override public NettyHttpResponse cookie(HttpCookie httpCookie) { Cookie nettyCookie = new DefaultCookie(httpCookie.getName(),httpCookie.getValue()); nettyCookie.setDomain(httpCookie.getDomain()); nettyCookie.setPath(httpCookie.getPath()); nettyCookie.setSecure(httpCookie.getSecure()); nettyCookie.setMaxAge((int)httpCookie.getMaxAge()); nettyCookie.setVersion(httpCookie.getVersion()); nettyCookie.setDiscard(httpCookie.getDiscard()); nettyCookie.setHttpOnly(true); CookieEncoder encoder = new CookieEncoder(true); encoder.addCookie(nettyCookie); return header(HttpHeaders.Names.SET_COOKIE, encoder.encode()); }
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(); } } } } }
private void addCookies(HttpResponse resp) { if (transport.resetCookies) { String cookieString = nettyRequest.headers().get(HttpHeaders.Names.COOKIE); if (cookieString != null) { CookieDecoder cookieDecoder = new CookieDecoder(); Set<Cookie> cookies = cookieDecoder.decode(cookieString); if (!cookies.isEmpty()) { // Reset the cookies if necessary. CookieEncoder cookieEncoder = new CookieEncoder(true); for (Cookie cookie : cookies) { cookieEncoder.addCookie(cookie); } setHeaderField(resp, HttpHeaders.Names.SET_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); }
@Override public NettyHttpResponse cookie(HttpCookie httpCookie) { Cookie nettyCookie = new DefaultCookie(httpCookie.getName(),httpCookie.getValue()); nettyCookie.setDomain(httpCookie.getDomain()); nettyCookie.setPath(httpCookie.getPath()); nettyCookie.setSecure(httpCookie.getSecure()); nettyCookie.setMaxAge((int)httpCookie.getMaxAge()); nettyCookie.setVersion(httpCookie.getVersion()); nettyCookie.setDiscard(httpCookie.getDiscard()); nettyCookie.setHttpOnly(true); CookieEncoder encoder = new CookieEncoder(true); encoder.addCookie(nettyCookie); return header(HttpHeaders.Names.SET_COOKIE, encoder.encode()); }
cookieEncoder.addCookie(cookie);