Class ConnectionSpec
- java.lang.Object
-
- com.squareup.okhttp.ConnectionSpec
-
public final class ConnectionSpec extends Object
Specifies configuration for the socket connection that HTTP traffic travels through. Forhttps:URLs, this includes the TLS version and cipher suites to use when negotiating a secure connection.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConnectionSpec.Builder
-
Field Summary
Fields Modifier and Type Field Description static ConnectionSpecCLEARTEXTUnencrypted, unauthenticated connections forhttp:URLs.static ConnectionSpecCOMPATIBLE_TLSA backwards-compatible fallback connection for interop with obsolete servers.static ConnectionSpecMODERN_TLSA modern TLS connection with extensions like SNI and ALPN available.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<CipherSuite>cipherSuites()Returns the cipher suites to use for a connection.booleanequals(Object other)Compares this instance with the specified object and indicates if they are equal.inthashCode()Returns an integer hash code for this object.booleanisCompatible(SSLSocket socket)Returnstrueif the socket, as currently configured, supports this ConnectionSpec.booleanisTls()booleansupportsTlsExtensions()List<TlsVersion>tlsVersions()StringtoString()Returns a string containing a concise, human-readable description of this object.
-
-
-
Field Detail
-
MODERN_TLS
public static final ConnectionSpec MODERN_TLS
A modern TLS connection with extensions like SNI and ALPN available.
-
COMPATIBLE_TLS
public static final ConnectionSpec COMPATIBLE_TLS
A backwards-compatible fallback connection for interop with obsolete servers.
-
CLEARTEXT
public static final ConnectionSpec CLEARTEXT
Unencrypted, unauthenticated connections forhttp:URLs.
-
-
Method Detail
-
isTls
public boolean isTls()
-
cipherSuites
public List<CipherSuite> cipherSuites()
Returns the cipher suites to use for a connection. This method can returnnullif the cipher suites enabled by default should be used.
-
tlsVersions
public List<TlsVersion> tlsVersions()
-
supportsTlsExtensions
public boolean supportsTlsExtensions()
-
isCompatible
public boolean isCompatible(SSLSocket socket)
Returnstrueif the socket, as currently configured, supports this ConnectionSpec. In order for a socket to be compatible the enabled cipher suites and protocols must intersect.For cipher suites, at least one of the
required cipher suitesmust match the socket's enabled cipher suites. If there are no required cipher suites the socket must have at least one cipher suite enabled.For protocols, at least one of the
required protocolsmust match the socket's enabled protocols.
-
equals
public boolean equals(Object other)
Description copied from class:ObjectCompares this instance with the specified object and indicates if they are equal. In order to be equal,omust represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.The default implementation returns
trueonly ifthis == o. See Writing a correctequalsmethod if you intend implementing your ownequalsmethod.The general contract for the
equalsandObject.hashCode()methods is that ifequalsreturnstruefor any two objects, thenhashCode()must return the same value for these objects. This means that subclasses ofObjectusually override either both methods or neither of them.- Overrides:
equalsin classObject- Parameters:
other- the object to compare this instance with.- Returns:
trueif the specified object is equal to thisObject;falseotherwise.- See Also:
Object.hashCode()
-
hashCode
public int hashCode()
Description copied from class:ObjectReturns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)returnstruemust return the same hash code value. This means that subclasses ofObjectusually override both methods or neither method.Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCodemethod if you intend implementing your ownhashCodemethod.- Overrides:
hashCodein classObject- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-
toString
public String toString()
Description copied from class:ObjectReturns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toStringmethod if you intend implementing your owntoStringmethod.
-
-