当前位置: 首页>>代码示例>>Java>>正文


Java OkHeaders.contentLength方法代码示例

本文整理汇总了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;
    }
  };
}
 
开发者ID:NannanZ,项目名称:spdymcsclient,代码行数:19,代码来源:JavaApiConverter.java

示例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");
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:37,代码来源:RealConnection.java

示例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");
}
 
开发者ID:ChiangC,项目名称:FMTech,代码行数:37,代码来源:Connection.java

示例4: contentLength

import com.squareup.okhttp.internal.http.OkHeaders; //导入方法依赖的package包/类
@Override public long contentLength() {
  return OkHeaders.contentLength(response);
}
 
开发者ID:NannanZ,项目名称:spdymcsclient,代码行数:4,代码来源:Call.java


注:本文中的com.squareup.okhttp.internal.http.OkHeaders.contentLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。