@Override public void visit(final Cookie cookie) { cookie.setSecure(true); } }
@Override public Cookie secure(boolean secure) { nettyCookie.setSecure(secure); return this; }
@Override public Response cookie(@NonNull String path, @NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); nettyCookie.setPath(path); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull String path, @NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); nettyCookie.setPath(path); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setPath("/"); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setPath("/"); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull com.blade.mvc.http.Cookie cookie) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(cookie.name(), cookie.value()); if (cookie.domain() != null) { nettyCookie.setDomain(cookie.domain()); } if (cookie.maxAge() > 0) { nettyCookie.setMaxAge(cookie.maxAge()); } nettyCookie.setPath(cookie.path()); nettyCookie.setHttpOnly(cookie.httpOnly()); nettyCookie.setSecure(cookie.secure()); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull com.blade.mvc.http.Cookie cookie) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(cookie.name(), cookie.value()); if (cookie.domain() != null) { nettyCookie.setDomain(cookie.domain()); } if (cookie.maxAge() > 0) { nettyCookie.setMaxAge(cookie.maxAge()); } nettyCookie.setPath(cookie.path()); nettyCookie.setHttpOnly(cookie.httpOnly()); nettyCookie.setSecure(cookie.secure()); this.cookies.add(nettyCookie); return this; }
@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 Cookie setSecure(final boolean secure) { nettyCookie.setSecure(secure); this.changed = true; return this; }
@Override protected void applyCookies() { for (String name : getCookies().keySet()) { for (ResponseCookie httpCookie : getCookies().get(name)) { Cookie cookie = new DefaultCookie(name, httpCookie.getValue()); if (!httpCookie.getMaxAge().isNegative()) { cookie.setMaxAge(httpCookie.getMaxAge().getSeconds()); } if (httpCookie.getDomain() != null) { cookie.setDomain(httpCookie.getDomain()); } if (httpCookie.getPath() != null) { cookie.setPath(httpCookie.getPath()); } cookie.setSecure(httpCookie.isSecure()); cookie.setHttpOnly(httpCookie.isHttpOnly()); this.response.addCookie(cookie); } } }
@Override protected void applyCookies() { for (String name : getCookies().keySet()) { for (ResponseCookie httpCookie : getCookies().get(name)) { Cookie cookie = new DefaultCookie(name, httpCookie.getValue()); if (!httpCookie.getMaxAge().isNegative()) { cookie.setMaxAge(httpCookie.getMaxAge().getSeconds()); } if (httpCookie.getDomain() != null) { cookie.setDomain(httpCookie.getDomain()); } if (httpCookie.getPath() != null) { cookie.setPath(httpCookie.getPath()); } cookie.setSecure(httpCookie.isSecure()); cookie.setHttpOnly(httpCookie.isHttpOnly()); this.response.addCookie(cookie); } } }
@Override public Cookie setSecure(final boolean secure) { nettyCookie.setSecure(secure); this.changed = true; return this; }
@Override public void setSecure(final boolean secure) { nettyCookie.setSecure(secure); }
@Override public Response cookie(@NonNull String path, @NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); nettyCookie.setPath(path); this.cookies.add(nettyCookie); return this; }
@Override public Response cookie(@NonNull String name, @NonNull String value, int maxAge, boolean secured) { Cookie nettyCookie = new io.netty.handler.codec.http.cookie.DefaultCookie(name, value); nettyCookie.setPath("/"); nettyCookie.setMaxAge(maxAge); nettyCookie.setSecure(secured); this.cookies.add(nettyCookie); return this; }
private Cookie cookie(String token, int expiresIn) { Cookie sessionCookie = new DefaultCookie(JWT_SESSION_COOKIE, token); sessionCookie.setHttpOnly(false); sessionCookie.setSecure(true); sessionCookie.setPath("/"); sessionCookie.setMaxAge(expiresIn); return sessionCookie; }
@Test public void cookieMarkedAsSecure() throws URISyntaxException { URI uri = URI.create("https://domain.com/path"); Cookie cookie = new DefaultCookie("key", "value"); cookie.setSecure(true); this.cookieJar.add(uri, cookie); uri = URI.create("http://domain.com/otherpath"); assertEquals(0, this.cookieJar.list(uri).size()); uri = URI.create("https://domain.com/otherpath"); assertEquals(1, this.cookieJar.list(uri).size()); }
@Test public void cookieMarkedAsSecure() throws URISyntaxException { URI uri = URI.create("https://domain.com/path"); Cookie cookie = new DefaultCookie("key", "value"); cookie.setSecure(true); this.cookieJar.add(uri, cookie); uri = URI.create("http://domain.com/otherpath"); assertEquals(0, this.cookieJar.list(uri).size()); uri = URI.create("https://domain.com/otherpath"); assertEquals(1, this.cookieJar.list(uri).size()); }
static io.netty.handler.codec.http.cookie.Cookie getNettyCookie(Cookie c) { io.netty.handler.codec.http.cookie.Cookie ret = new io.netty.handler.codec.http.cookie.DefaultCookie(c.getName(), c.getValue()); ret.setDomain(c.getDomain()); ret.setHttpOnly(c.isHttpOnly()); ret.setMaxAge(c.getMaxAge()); ret.setPath(c.getPath()); ret.setSecure(c.isSecure()); return ret; }