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


Java Platform类代码示例

本文整理汇总了Java中okhttp3.internal.Platform的典型用法代码示例。如果您正苦于以下问题:Java Platform类的具体用法?Java Platform怎么用?Java Platform使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Platform类属于okhttp3.internal包,在下文中一共展示了Platform类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setRequestProperty

import okhttp3.internal.Platform; //导入依赖的package包/类
@Override public final void setRequestProperty(String field, String newValue) {
  if (connected) {
    throw new IllegalStateException("Cannot set request property after connection is made");
  }
  if (field == null) {
    throw new NullPointerException("field == null");
  }
  if (newValue == null) {
    // Silently ignore null header values for backwards compatibility with older
    // android versions as well as with other URLConnection implementations.
    //
    // Some implementations send a malformed HTTP header when faced with
    // such requests, we respect the spec and ignore the header.
    Platform.get().logW("Ignoring header " + field + " because its value was null.");
    return;
  }

  // TODO: Deprecate use of X-Android-Transports header?
  if ("X-Android-Transports".equals(field) || "X-Android-Protocols".equals(field)) {
    setProtocols(newValue, false /* append */);
  } else {
    requestHeaders.set(field, newValue);
  }
}
 
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:25,代码来源:HttpURLConnectionImpl.java

示例2: addRequestProperty

import okhttp3.internal.Platform; //导入依赖的package包/类
@Override public final void addRequestProperty(String field, String value) {
  if (connected) {
    throw new IllegalStateException("Cannot add request property after connection is made");
  }
  if (field == null) {
    throw new NullPointerException("field == null");
  }
  if (value == null) {
    // Silently ignore null header values for backwards compatibility with older
    // android versions as well as with other URLConnection implementations.
    //
    // Some implementations send a malformed HTTP header when faced with
    // such requests, we respect the spec and ignore the header.
    Platform.get().logW("Ignoring header " + field + " because its value was null.");
    return;
  }

  // TODO: Deprecate use of X-Android-Transports header?
  if ("X-Android-Transports".equals(field) || "X-Android-Protocols".equals(field)) {
    setProtocols(value, true /* append */);
  } else {
    requestHeaders.add(field, value);
  }
}
 
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:25,代码来源:HttpURLConnectionImpl.java

示例3: connectSocket

import okhttp3.internal.Platform; //导入依赖的package包/类
/** Does all the work necessary to build a full HTTP or HTTPS connection on a raw socket. */
private void connectSocket(int connectTimeout, int readTimeout, int writeTimeout,
    ConnectionSpecSelector connectionSpecSelector) throws IOException {
  rawSocket.setSoTimeout(readTimeout);
  try {
    Platform.get().connectSocket(rawSocket, route.socketAddress(), connectTimeout);
  } catch (ConnectException e) {
    throw new ConnectException("Failed to connect to " + route.socketAddress());
  }
  source = Okio.buffer(Okio.source(rawSocket));
  sink = Okio.buffer(Okio.sink(rawSocket));

  if (route.address().sslSocketFactory() != null) {
    connectTls(readTimeout, writeTimeout, connectionSpecSelector);
  } else {
    protocol = Protocol.HTTP_1_1;
    socket = rawSocket;
  }

  if (protocol == Protocol.SPDY_3 || protocol == Protocol.HTTP_2) {
    socket.setSoTimeout(0); // Framed connection timeouts are set per-stream.

    FramedConnection framedConnection = new FramedConnection.Builder(true)
        .socket(socket, route.address().url().host(), source, sink)
        .protocol(protocol)
        .build();
    framedConnection.sendConnectionPreface();

    // Only assign the framed connection once the preface has been sent successfully.
    this.framedConnection = framedConnection;
  }
}
 
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:33,代码来源:RealConnection.java

示例4: doSsl

import okhttp3.internal.Platform; //导入依赖的package包/类
private SSLSocket doSsl(Socket socket) throws IOException {
  SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket(
      socket, socket.getInetAddress().getHostAddress(), socket.getPort(), true);
  sslSocket.setUseClientMode(false);
  Platform.get().configureTlsExtensions(sslSocket, null, framedProtocols);
  sslSocket.startHandshake();
  return sslSocket;
}
 
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:9,代码来源:FramedServer.java

示例5: getBase

import okhttp3.internal.Platform; //导入依赖的package包/类
@Override
protected SSLSocketFactory getBase() {
    if (null == delegate) {
        try {
            SSLContext sslContext = SSLContext.getInstance("TLS");
            sslContext.init(null, null, null);
            delegate = sslContext.getSocketFactory();
            trustManager = Platform.get().trustManager(delegate);
        } catch (Exception ex) {
        }
    }
    return delegate;
}
 
开发者ID:SamsungVR,项目名称:android_upload_sdk,代码行数:14,代码来源:HttpPluginOkHttp.java

示例6: connectTls

import okhttp3.internal.Platform; //导入依赖的package包/类
private void connectTls(int readTimeout, int writeTimeout,
    ConnectionSpecSelector connectionSpecSelector) throws IOException {
  if (route.requiresTunnel()) {
    createTunnel(readTimeout, writeTimeout);
  }

  Address address = route.address();
  SSLSocketFactory sslSocketFactory = address.sslSocketFactory();
  boolean success = false;
  SSLSocket sslSocket = null;
  try {
    // Create the wrapper over the connected socket.
    sslSocket = (SSLSocket) sslSocketFactory.createSocket(
        rawSocket, address.url().host(), address.url().port(), true /* autoClose */);

    // Configure the socket's ciphers, TLS versions, and extensions.
    ConnectionSpec connectionSpec = connectionSpecSelector.configureSecureSocket(sslSocket);
    if (connectionSpec.supportsTlsExtensions()) {
      Platform.get().configureTlsExtensions(
          sslSocket, address.url().host(), address.protocols());
    }

    // Force handshake. This can throw!
    sslSocket.startHandshake();
    Handshake unverifiedHandshake = Handshake.get(sslSocket.getSession());

    // Verify that the socket's certificates are acceptable for the target host.
    if (!address.hostnameVerifier().verify(address.url().host(), sslSocket.getSession())) {
      X509Certificate cert = (X509Certificate) unverifiedHandshake.peerCertificates().get(0);
      throw new SSLPeerUnverifiedException("Hostname " + address.url().host() + " not verified:"
          + "\n    certificate: " + CertificatePinner.pin(cert)
          + "\n    DN: " + cert.getSubjectDN().getName()
          + "\n    subjectAltNames: " + OkHostnameVerifier.allSubjectAltNames(cert));
    }

    // Check that the certificate pinner is satisfied by the certificates presented.
    address.certificatePinner().check(address.url().host(),
        unverifiedHandshake.peerCertificates());

    // Success! Save the handshake and the ALPN protocol.
    String maybeProtocol = connectionSpec.supportsTlsExtensions()
        ? Platform.get().getSelectedProtocol(sslSocket)
        : null;
    socket = sslSocket;
    source = Okio.buffer(Okio.source(socket));
    sink = Okio.buffer(Okio.sink(socket));
    handshake = unverifiedHandshake;
    protocol = maybeProtocol != null
        ? Protocol.get(maybeProtocol)
        : Protocol.HTTP_1_1;
    success = true;
  } catch (AssertionError e) {
    if (Util.isAndroidGetsocknameError(e)) throw new IOException(e);
    throw e;
  } finally {
    if (sslSocket != null) {
      Platform.get().afterHandshake(sslSocket);
    }
    if (!success) {
      closeQuietly(sslSocket);
    }
  }
}
 
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:64,代码来源:RealConnection.java


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