本文整理汇总了Java中com.squareup.okhttp.internal.http.OkHeaders.contentLength方法的典型用法代码示例。如果您正苦于以下问题:Java OkHeaders.contentLength方法的具体用法?Java OkHeaders.contentLength怎么用?Java OkHeaders.contentLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.squareup.okhttp.internal.http.OkHeaders
的用法示例。
在下文中一共展示了OkHeaders.contentLength方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createOkBody
import com.squareup.okhttp.internal.http.OkHeaders; //导入方法依赖的package包/类
/**
* Creates an OkHttp Response.Body containing the supplied information.
*/
private static ResponseBody createOkBody(final Headers okHeaders, InputStream body) {
final BufferedSource source = Okio.buffer(Okio.source(body));
return new ResponseBody() {
@Override public MediaType contentType() {
String contentTypeHeader = okHeaders.get("Content-Type");
return contentTypeHeader == null ? null : MediaType.parse(contentTypeHeader);
}
@Override public long contentLength() {
return OkHeaders.contentLength(okHeaders);
}
@Override public BufferedSource source() {
return source;
}
};
}
示例2: createTunnel
import com.squareup.okhttp.internal.http.OkHeaders; //导入方法依赖的package包/类
private void createTunnel(int readTimeout, int writeTimeout) throws IOException {
Request tunnelRequest = createTunnelRequest();
HttpUrl url = tunnelRequest.httpUrl();
String requestLine = "CONNECT " + url.host() + ":" + url.port() + " HTTP/1.1";
do {
Http1xStream tunnelConnection = new Http1xStream(null, this.source, this.sink);
this.source.timeout().timeout((long) readTimeout, TimeUnit.MILLISECONDS);
this.sink.timeout().timeout((long) writeTimeout, TimeUnit.MILLISECONDS);
tunnelConnection.writeRequest(tunnelRequest.headers(), requestLine);
tunnelConnection.finishRequest();
Response response = tunnelConnection.readResponse().request(tunnelRequest).build();
long contentLength = OkHeaders.contentLength(response);
if (contentLength == -1) {
contentLength = 0;
}
Source body = tunnelConnection.newFixedLengthSource(contentLength);
Util.skipAll(body, ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED, TimeUnit
.MILLISECONDS);
body.close();
switch (response.code()) {
case 200:
if (!this.source.buffer().exhausted() || !this.sink.buffer().exhausted()) {
throw new IOException("TLS tunnel buffered too many bytes!");
}
return;
case 407:
tunnelRequest = OkHeaders.processAuthHeader(this.route.getAddress()
.getAuthenticator(), response, this.route.getProxy());
break;
default:
throw new IOException("Unexpected response code for CONNECT: " + response
.code());
}
} while (tunnelRequest != null);
throw new IOException("Failed to authenticate with proxy");
}
示例3: makeTunnel
import com.squareup.okhttp.internal.http.OkHeaders; //导入方法依赖的package包/类
final void makeTunnel(Request paramRequest, int paramInt1, int paramInt2)
throws IOException
{
HttpConnection localHttpConnection = new HttpConnection(this.pool, this, this.socket);
localHttpConnection.setTimeouts(paramInt1, paramInt2);
URL localURL = paramRequest.url();
String str = "CONNECT " + localURL.getHost() + ":" + localURL.getPort() + " HTTP/1.1";
do
{
localHttpConnection.writeRequest(paramRequest.headers, str);
localHttpConnection.flush();
Response.Builder localBuilder = localHttpConnection.readResponse();
localBuilder.request = paramRequest;
Response localResponse = localBuilder.build();
long l = OkHeaders.contentLength(localResponse);
if (l == -1L) {
l = 0L;
}
Source localSource = localHttpConnection.newFixedLengthSource(l);
Util.skipAll(localSource, 2147483647, TimeUnit.MILLISECONDS);
localSource.close();
switch (localResponse.code)
{
default:
throw new IOException("Unexpected response code for CONNECT: " + localResponse.code);
case 200:
if (localHttpConnection.source.buffer().size <= 0L) {
break;
}
throw new IOException("TLS tunnel buffered too many bytes!");
case 407:
paramRequest = OkHeaders.processAuthHeader(this.route.address.authenticator, localResponse, this.route.proxy);
}
} while (paramRequest != null);
throw new IOException("Failed to authenticate with proxy");
}
示例4: contentLength
import com.squareup.okhttp.internal.http.OkHeaders; //导入方法依赖的package包/类
@Override public long contentLength() {
return OkHeaders.contentLength(response);
}