use of io.helidon.common.http.Headers in project helidon by oracle.
the class AbstractCorsTest method test2PreFlightAllowedOrigin.
@Test
void test2PreFlightAllowedOrigin() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().options().path(path(SERVICE_2));
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, "http://foo.bar");
headers.add(ACCESS_CONTROL_REQUEST_METHOD, "PUT");
WebClientResponse res = reqBuilder.request().toCompletableFuture().get();
assertThat(res.status(), is(Http.Status.OK_200));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), present(is("http://foo.bar")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_CREDENTIALS), present(is("true")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_METHODS), present(is("PUT")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), notPresent());
assertThat(res.headers().first(ACCESS_CONTROL_MAX_AGE), notPresent());
}
use of io.helidon.common.http.Headers in project helidon by oracle.
the class AbstractCorsTest method test2ActualAllowedOrigin.
@Test
void test2ActualAllowedOrigin() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().put().path(path(SERVICE_2)).contentType(MediaType.TEXT_PLAIN);
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, "http://foo.bar");
WebClientResponse res = reqBuilder.submit("").toCompletableFuture().get();
assertThat(res.status(), is(Http.Status.OK_200));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), present(is("http://foo.bar")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_CREDENTIALS), present(is("true")));
}
use of io.helidon.common.http.Headers in project helidon by oracle.
the class AbstractCorsTest method runTest1PreFlightAllowedOrigin.
WebClientResponse runTest1PreFlightAllowedOrigin() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().options().path(path(contextRoot(), SERVICE_1));
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, fooOrigin());
headers.add(ACCESS_CONTROL_REQUEST_METHOD, "PUT");
WebClientResponse res = reqBuilder.request().toCompletableFuture().get();
return res;
}
use of io.helidon.common.http.Headers in project helidon by oracle.
the class AbstractCorsTest method test2PreFlightAllowedHeaders3.
@Test
void test2PreFlightAllowedHeaders3() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().options().path(path(SERVICE_2));
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, "http://foo.bar");
headers.add(ACCESS_CONTROL_REQUEST_METHOD, "PUT");
headers.add(ACCESS_CONTROL_REQUEST_HEADERS, "X-foo, X-bar");
headers.add(ACCESS_CONTROL_REQUEST_HEADERS, "X-foo, X-bar");
WebClientResponse res = reqBuilder.request().toCompletableFuture().get();
assertThat(res.status(), is(Http.Status.OK_200));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), present(is("http://foo.bar")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_CREDENTIALS), present(is("true")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_METHODS), present(is("PUT")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), present(containsString("X-foo")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), present(containsString("X-bar")));
assertThat(res.headers().first(ACCESS_CONTROL_MAX_AGE), notPresent());
}
use of io.helidon.common.http.Headers in project helidon by oracle.
the class AbstractCorsTest method test2PreFlightAllowedHeaders1.
@Test
void test2PreFlightAllowedHeaders1() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().options().path(path(contextRoot(), SERVICE_2));
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, fooOrigin());
headers.add(ACCESS_CONTROL_REQUEST_METHOD, "PUT");
headers.add(ACCESS_CONTROL_REQUEST_HEADERS, fooHeader());
WebClientResponse res = reqBuilder.request().toCompletableFuture().get();
assertThat(res.status(), is(Http.Status.OK_200));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), present(is(fooOrigin())));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_CREDENTIALS), present(is("true")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_METHODS), present(is("PUT")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), present(containsString(fooHeader())));
assertThat(res.headers().first(ACCESS_CONTROL_MAX_AGE), notPresent());
}
Aggregations