本文整理了Java中com.hotels.styx.api.HttpResponse.bodyAs()
方法的一些代码示例,展示了HttpResponse.bodyAs()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HttpResponse.bodyAs()
方法的具体详情如下:
包路径:com.hotels.styx.api.HttpResponse
类名称:HttpResponse
方法名:bodyAs
[英]Returns the message body as a String decoded with provided character set.
Decodes the message body into a Java String object with a provided charset. The caller must ensure the provided charset is compatible with message content type and encoding.
[中]以使用提供的字符集解码的字符串形式返回消息正文。
使用提供的字符集将消息体解码为Java字符串对象。调用者必须确保提供的字符集与消息内容类型和编码兼容。
代码示例来源:origin: HotelsDotCom/styx
@Override
protected void describeMismatchSafely(T item, Description mismatchDescription) {
mismatchDescription.appendText("content was '" + Mono.from(item.aggregate(0x100000)).block().bodyAs(UTF_8) + "'");
}
代码示例来源:origin: HotelsDotCom/styx
@Override
public boolean matchesSafely(T actual) {
return matcher.matches(Mono.from(actual.aggregate(0x100000)).block().bodyAs(UTF_8));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void transformedBodyIsNewCopy() {
HttpResponse request = response()
.body("Original body", UTF_8)
.build();
HttpResponse newRequest = response()
.body("New body", UTF_8)
.build();
assertThat(request.bodyAs(UTF_8), is("Original body"));
assertThat(newRequest.bodyAs(UTF_8), is("New body"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void exposesNameAndStatusViaAdminInterface() throws ExecutionException, InterruptedException {
DerivedStyxService service = new DerivedStyxService("derived-service", new CompletableFuture<>());
HttpResponse response = Mono.from(service.adminInterfaceHandlers().get("status").handle(get, MOCK_CONTEXT)
.flatMap(r -> r.aggregate(1024))).block();
assertThat(response.bodyAs(UTF_8), is("{ name: \"derived-service\" status: \"CREATED\" }"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void allowsModificationOfBodyBasedOnExistingBody() {
HttpResponse response = HttpResponse.response()
.body("foobar", UTF_8)
.build();
HttpResponse newResponse = response.newBuilder()
.body(response.bodyAs(UTF_8) + "x", UTF_8)
.build();
assertThat(newResponse.bodyAs(UTF_8), is("foobarx"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void responseBodyIsImmutable() {
HttpResponse response = response(OK)
.body("Original body", UTF_8)
.build();
response.body()[0] = 'A';
assertThat(response.bodyAs(UTF_8), is("Original body"));
}
代码示例来源:origin: HotelsDotCom/styx
public static MetricsSnapshot downloadFrom(String host, int port) throws IOException {
HttpClient client = new StyxHttpClient.Builder().build();
HttpResponse response = await(client.sendRequest(get(format("http://%s:%d/admin/metrics", host, port)).build()));
return new MetricsSnapshot(decodeToMap(response.bodyAs(UTF_8)));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void overridesContent() {
HttpResponse response = HttpResponse.response()
.body("Response content.", UTF_8)
.body(" ", UTF_8)
.body("Extra content", UTF_8)
.build();
assertThat(response.bodyAs(UTF_8), is("Extra content"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void canRemoveResponseBody() {
HttpResponse response = response(NO_CONTENT)
.body("shouldn't be here", UTF_8)
.build();
HttpResponse shouldClearBody = response.newBuilder()
.body("", UTF_8)
.build();
assertThat(shouldClearBody.bodyAs(UTF_8), is(""));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void respondsWithStaticBody() {
StaticBodyHttpHandler handler = new StaticBodyHttpHandler(PLAIN_TEXT_UTF_8, "foo", UTF_8);
LiveHttpResponse response = Mono.from(handler.handle(get("/").build(), HttpInterceptorContext.create())).block();
HttpResponse fullResponse = Mono.from(response.aggregate(1024)).block();
assertThat(fullResponse.status(), is(OK));
assertThat(fullResponse.contentType(), isValue(PLAIN_TEXT_UTF_8.toString()));
assertThat(fullResponse.contentLength(), isValue(length("foo")));
assertThat(fullResponse.bodyAs(UTF_8), is("foo"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void allowsModificationOfHeadersBasedOnBody() {
HttpResponse response = HttpResponse.response()
.body("foobar", UTF_8)
.build();
assertThat(response.header("some-header"), isAbsent());
HttpResponse newResponse = response.newBuilder()
.header("some-header", response.body().length)
.build();
assertThat(newResponse.header("some-header"), isValue("6"));
assertThat(newResponse.bodyAs(UTF_8), is("foobar"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void responseBodyCannotBeChangedViaStreamingMessage() {
HttpResponse original = response(OK)
.body("original", UTF_8)
.build();
Flux.from(original.stream()
.body()
.map(buf -> {
buf.delegate().array()[0] = 'A';
return buf;
}))
.subscribe();
assertThat(original.bodyAs(UTF_8), is("original"));
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void convertsToStreamingHttpResponse() throws Exception {
HttpResponse response = response(CREATED)
.version(HTTP_1_1)
.header("HeaderName", "HeaderValue")
.cookies(responseCookie("CookieName", "CookieValue").build())
.body("message content", UTF_8)
.build();
LiveHttpResponse streaming = response.stream();
assertThat(streaming.version(), is(HTTP_1_1));
assertThat(streaming.status(), is(CREATED));
assertThat(streaming.headers(), containsInAnyOrder(
header("Content-Length", "15"),
header("HeaderName", "HeaderValue"),
header("Set-Cookie", "CookieName=CookieValue")
));
assertThat(streaming.cookies(), contains(responseCookie("CookieName", "CookieValue").build()));
StepVerifier.create(streaming.aggregate(0x100000).map(it -> it.bodyAs(UTF_8)))
.expectNext("message content")
.verifyComplete();
}
代码示例来源:origin: HotelsDotCom/styx
@Test
public void transformerReplacesBody() {
Buffer buf1 = new Buffer("chunk 1, ", UTF_8);
Buffer buf2 = new Buffer("chunk 2.", UTF_8);
LiveHttpResponse response1 = response(NO_CONTENT)
.body(new ByteStream(Flux.just(buf1, buf2)))
.build()
.newBuilder()
.body(body -> body.replaceWith(ByteStream.from("replacement", UTF_8)))
.build();
HttpResponse response2 = Mono.from(response1.aggregate(100)).block();
assertEquals(response2.bodyAs(UTF_8), "replacement");
assertEquals(buf1.delegate().refCnt(), 0);
assertEquals(buf2.delegate().refCnt(), 0);
}
内容来源于网络,如有侵权,请联系作者删除!