Class InputShutdownCheckingSslSocket
- java.lang.Object
- 
- java.net.Socket
- 
- javax.net.ssl.SSLSocket
- 
- software.amazon.awssdk.http.apache.internal.net.DelegateSslSocket
- 
- software.amazon.awssdk.http.apache.internal.net.InputShutdownCheckingSslSocket
 
 
 
 
- 
- All Implemented Interfaces:
- Closeable,- AutoCloseable
 
 @SdkInternalApi public final class InputShutdownCheckingSslSocket extends DelegateSslSocket Wrapper socket that ensures the read end of the socket is still open before performing awrite(). In TLS 1.3, it is permitted for the connection to be in a half-closed state, which is dangerous for the Apache client because it can get stuck in a state where it continues to write to the socket and potentially end up a blocked state writing to the socket indefinitely.
- 
- 
Field Summary- 
Fields inherited from class software.amazon.awssdk.http.apache.internal.net.DelegateSslSocketsock
 
- 
 - 
Constructor SummaryConstructors Constructor Description InputShutdownCheckingSslSocket(SSLSocket sock)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description OutputStreamgetOutputStream()- 
Methods inherited from class software.amazon.awssdk.http.apache.internal.net.DelegateSslSocketaddHandshakeCompletedListener, bind, close, connect, connect, getChannel, getEnabledCipherSuites, getEnabledProtocols, getEnableSessionCreation, getInetAddress, getInputStream, getKeepAlive, getLocalAddress, getLocalPort, getLocalSocketAddress, getNeedClientAuth, getOOBInline, getPort, getReceiveBufferSize, getRemoteSocketAddress, getReuseAddress, getSendBufferSize, getSession, getSoLinger, getSoTimeout, getSupportedCipherSuites, getSupportedProtocols, getTcpNoDelay, getTrafficClass, getUseClientMode, getWantClientAuth, isBound, isClosed, isConnected, isInputShutdown, isOutputShutdown, removeHandshakeCompletedListener, sendUrgentData, setEnabledCipherSuites, setEnabledProtocols, setEnableSessionCreation, setKeepAlive, setNeedClientAuth, setOOBInline, setPerformancePreferences, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSoLinger, setSoTimeout, setTcpNoDelay, setTrafficClass, setUseClientMode, setWantClientAuth, shutdownInput, shutdownOutput, startHandshake, toString
 - 
Methods inherited from class javax.net.ssl.SSLSocketgetApplicationProtocol, getHandshakeApplicationProtocol, getHandshakeApplicationProtocolSelector, getHandshakeSession, getSSLParameters, setHandshakeApplicationProtocolSelector, setSSLParameters
 - 
Methods inherited from class java.net.SocketsetSocketImplFactory
 
- 
 
- 
- 
- 
Constructor Detail- 
InputShutdownCheckingSslSocketpublic InputShutdownCheckingSslSocket(SSLSocket sock) 
 
- 
 - 
Method Detail- 
getOutputStreampublic OutputStream getOutputStream() throws IOException - Overrides:
- getOutputStreamin class- DelegateSslSocket
- Throws:
- IOException
 
 
- 
 
-