@Override public Optional<String> preferredOrigins() { if (nonNull(originsRestrictionCookieName)) { return rewrittenRequest.cookie(originsRestrictionCookieName) .map(HttpCookie::value) .map(Optional::of) .orElse(rewrittenRequest.cookie("styx_origin_" + id).map(HttpCookie::value)); } else { return rewrittenRequest.cookie("styx_origin_" + id).map(HttpCookie::value); } }
@Test public void createsARequestWithDefaultValues() { HttpRequest request = get("/index").build(); assertThat(request.version(), is(HTTP_1_1)); assertThat(request.url().toString(), is("/index")); assertThat(request.path(), is("/index")); assertThat(request.id(), is(notNullValue())); assertThat(request.cookies(), is(emptyIterable())); assertThat(request.headers(), is(emptyIterable())); assertThat(request.headers("any"), is(emptyIterable())); assertThat(request.body().length, is(0)); assertThat(request.cookie("any"), isAbsent()); assertThat(request.header("any"), isAbsent()); assertThat(request.keepAlive(), is(true)); assertThat(request.method(), is(GET)); assertThat(request.queryParam("any"), isAbsent()); assertThat(request.queryParams("any"), is(emptyIterable())); }
@Test public void canExtractCookies() { HttpRequest request = get("/") .cookies( requestCookie("cookie1", "foo"), requestCookie("cookie3", "baz"), requestCookie("cookie2", "bar")) .build(); assertThat(request.cookie("cookie1"), isValue(requestCookie("cookie1", "foo"))); assertThat(request.cookie("cookie2"), isValue(requestCookie("cookie2", "bar"))); assertThat(request.cookie("cookie3"), isValue(requestCookie("cookie3", "baz"))); }
@Test public void removesCookiesInSameBuilder() { HttpRequest r1 = HttpRequest.get("/") .addCookies(requestCookie("x", "x1")) .removeCookies("x") .build(); assertThat(r1.cookie("x"), isAbsent()); }
@Test public void cannotExtractNonExistentCookie() { HttpRequest request = get("/") .cookies( requestCookie("cookie1", "foo"), requestCookie("cookie3", "baz"), requestCookie("cookie2", "bar")) .build(); assertThat(request.cookie("cookie4"), isAbsent()); }