use of zipkin2.Call in project okhttp by square.
the class HttpOverHttp2Test method readAfterLastByte.
@Test
public void readAfterLastByte() throws Exception {
server.enqueue(new MockResponse().setBody("ABC"));
Call call = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response = call.execute();
InputStream in = response.body().byteStream();
assertEquals('A', in.read());
assertEquals('B', in.read());
assertEquals('C', in.read());
assertEquals(-1, in.read());
assertEquals(-1, in.read());
in.close();
}
use of zipkin2.Call in project okhttp by square.
the class HttpOverHttp2Test method cancelWithStreamNotCompleted.
/** https://github.com/square/okhttp/issues/1191 */
// TODO: recover gracefully when a connection is shutdown.
@Ignore
@Test
public void cancelWithStreamNotCompleted() throws Exception {
// Ensure that the (shared) connection pool is in a consistent state.
client.connectionPool().evictAll();
assertEquals(0, client.connectionPool().connectionCount());
server.enqueue(new MockResponse().setBody("abc"));
server.enqueue(new MockResponse().setBody("def"));
// Disconnect before the stream is created. A connection is still established!
Call call1 = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response = call1.execute();
call1.cancel();
// That connection is pooled, and it works.
assertEquals(1, client.connectionPool().connectionCount());
Call call2 = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response2 = call2.execute();
assertEquals("def", response2.body().string());
assertEquals(0, server.takeRequest().getSequenceNumber());
// Clean up the connection.
response.close();
}
use of zipkin2.Call in project okhttp by square.
the class HttpOverHttp2Test method nonAsciiResponseHeader.
@Test
public void nonAsciiResponseHeader() throws Exception {
server.enqueue(new MockResponse().addHeaderLenient("Alpha", "α").addHeaderLenient("β", "Beta"));
Call call = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response = call.execute();
response.close();
assertEquals("α", response.header("Alpha"));
assertEquals("Beta", response.header("β"));
}
use of zipkin2.Call in project okhttp by square.
the class HttpOverHttp2Test method serverSendsPushPromise_GET.
@Test
public void serverSendsPushPromise_GET() throws Exception {
PushPromise pushPromise = new PushPromise("GET", "/foo/bar", Headers.of("foo", "bar"), new MockResponse().setBody("bar").setStatus("HTTP/1.1 200 Sweet"));
server.enqueue(new MockResponse().setBody("ABCDE").setStatus("HTTP/1.1 200 Sweet").withPush(pushPromise));
Call call = client.newCall(new Request.Builder().url(server.url("/foo")).build());
Response response = call.execute();
assertEquals("ABCDE", response.body().string());
assertEquals(200, response.code());
assertEquals("Sweet", response.message());
RecordedRequest request = server.takeRequest();
assertEquals("GET /foo HTTP/1.1", request.getRequestLine());
assertEquals("https", request.getHeader(":scheme"));
assertEquals(server.getHostName() + ":" + server.getPort(), request.getHeader(":authority"));
RecordedRequest pushedRequest = server.takeRequest();
assertEquals("GET /foo/bar HTTP/1.1", pushedRequest.getRequestLine());
assertEquals("bar", pushedRequest.getHeader("foo"));
}
use of zipkin2.Call in project okhttp by square.
the class HttpOverHttp2Test method responsesAreCached.
@Test
public void responsesAreCached() throws IOException {
client = client.newBuilder().cache(cache).build();
server.enqueue(new MockResponse().addHeader("cache-control: max-age=60").setBody("A"));
Call call1 = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response1 = call1.execute();
assertEquals("A", response1.body().string());
assertEquals(1, cache.requestCount());
assertEquals(1, cache.networkCount());
assertEquals(0, cache.hitCount());
Call call2 = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response2 = call2.execute();
assertEquals("A", response2.body().string());
Call call3 = client.newCall(new Request.Builder().url(server.url("/")).build());
Response response3 = call3.execute();
assertEquals("A", response3.body().string());
assertEquals(3, cache.requestCount());
assertEquals(1, cache.networkCount());
assertEquals(2, cache.hitCount());
}
Aggregations