@Test public void headerValuesAreCaseSensitive() { LiveHttpResponse response = response(OK).header("Content-Type", "TEXT/PLAIN").build(); assertThat(response.header("content-type"), not(isValue("text/plain"))); }
@Test public void shouldRemoveContentLengthFromChunkedMessages() { LiveHttpResponse response = response().header(CONTENT_LENGTH, 5).build(); LiveHttpResponse chunkedResponse = response.newBuilder().setChunked().build(); assertThat(chunkedResponse.chunked(), is(true)); assertThat(chunkedResponse.header(CONTENT_LENGTH).isPresent(), is(false)); }
@Test public void shouldNotFailToRemoveNonExistentContentLength() { LiveHttpResponse response = response().build(); LiveHttpResponse chunkedResponse = response.newBuilder().setChunked().build(); assertThat(chunkedResponse.chunked(), is(true)); assertThat(chunkedResponse.header(CONTENT_LENGTH).isPresent(), is(false)); }
private static LiveHttpResponse removeHopByHopHeaders(LiveHttpResponse response) { LiveHttpResponse.Transformer newResponse = response.newBuilder(); response.header(CONNECTION).ifPresent(connection -> { for (String connectToken : connection.split(",")) { String header = connectToken.trim(); newResponse.removeHeader(header); } newResponse.removeHeader(CONNECTION); }); newResponse .removeHeader(KEEP_ALIVE) .removeHeader(PROXY_AUTHENTICATE) .removeHeader(PROXY_AUTHORIZATION) .removeHeader(TE) .removeHeader(TRAILER) .removeHeader(TRANSFER_ENCODING) .removeHeader(UPGRADE); return newResponse.build(); }
@Test public void supportsCaseInsensitiveHeaderNames() { LiveHttpResponse response = response(OK).header("Content-Type", "text/plain").build(); assertThat(response.header("content-type"), isValue("text/plain")); }
@Test public void transformerAddsHeaders() { LiveHttpResponse response = response().build() .newBuilder() .addHeader("X-Styx-ID", "y") .build(); assertEquals(response.header("X-Styx-ID"), Optional.of("y")); }
@Test public void transformerRemovesHeaders() { LiveHttpResponse response = response().addHeader("X-Styx-ID", "y").build() .newBuilder() .removeHeader("X-Styx-ID") .build(); assertEquals(response.header("X-Styx-ID"), Optional.empty()); }
@Test public void transformerSetsHeaders() { LiveHttpResponse response = response().build() .newBuilder() .headers(new HttpHeaders.Builder().add("X-Styx-ID", "z").build()) .build(); assertEquals(response.header("X-Styx-ID"), Optional.of("z")); }