@Test public void testAddOrReplaceCookies() { RequestBuilder requestBuilder = new RequestBuilder(); Cookie cookie = new DefaultCookie("name", "value"); cookie.setDomain("google.com"); cookie.setPath("/"); cookie.setMaxAge(1000); cookie.setSecure(true); cookie.setHttpOnly(true); requestBuilder.addOrReplaceCookie(cookie); assertEquals(requestBuilder.cookies.size(), 1, "cookies size should be 1 after adding one cookie"); assertEquals(requestBuilder.cookies.get(0), cookie, "cookie does not match"); Cookie cookie2 = new DefaultCookie("name", "value"); cookie2.setDomain("google2.com"); cookie2.setPath("/path"); cookie2.setMaxAge(1001); cookie2.setSecure(false); cookie2.setHttpOnly(false); requestBuilder.addOrReplaceCookie(cookie2); assertEquals(requestBuilder.cookies.size(), 1, "cookies size should remain 1 as we just replaced a cookie with same name"); assertEquals(requestBuilder.cookies.get(0), cookie2, "cookie does not match"); Cookie cookie3 = new DefaultCookie("name2", "value"); cookie3.setDomain("google.com"); cookie3.setPath("/"); cookie3.setMaxAge(1000); cookie3.setSecure(true); cookie3.setHttpOnly(true); requestBuilder.addOrReplaceCookie(cookie3); assertEquals(requestBuilder.cookies.size(), 2, "cookie size must be 2 after adding 1 more cookie i.e. cookie3"); }
@Override public <T> ListenableFuture<T> executeRequest(Request request, AsyncHandler<T> handler) { if (config.getCookieStore() != null) { try { List<Cookie> cookies = config.getCookieStore().get(request.getUri()); if (!cookies.isEmpty()) { RequestBuilder requestBuilder = new RequestBuilder(request); for (Cookie cookie : cookies) { requestBuilder.addOrReplaceCookie(cookie); } request = requestBuilder.build(); } } catch (Exception e) { handler.onThrowable(e); return new ListenableFuture.CompletedFailure<>("Failed to set cookies of request", e); } } if (noRequestFilters) { return execute(request, handler); } else { FilterContext<T> fc = new FilterContext.FilterContextBuilder<T>().asyncHandler(handler).request(request).build(); try { fc = preProcessRequest(fc); } catch (Exception e) { handler.onThrowable(e); return new ListenableFuture.CompletedFailure<>("preProcessRequest failed", e); } return execute(fc.getRequest(), fc.getAsyncHandler()); } }
if (!cookies.isEmpty()) for (Cookie cookie : cookies) requestBuilder.addOrReplaceCookie(cookie);
Cookie c = CookieDecoder.decode(cookieStr); if (c != null) requestBuilder.addOrReplaceCookie(c);
Cookie c = CookieDecoder.decode(cookieStr); if (c != null) requestBuilder.addOrReplaceCookie(c);
Cookie c = CookieDecoder.decode(cookieStr); if (c != null) requestBuilder.addOrReplaceCookie(c);
Cookie c = CookieDecoder.decode(cookieStr); if (c != null) requestBuilder.addOrReplaceCookie(c);