AbstractStreamProvider (Apache Tomcat 11.0.25 API Documentation)
Description: declaration: package: org.apache.catalina.tribes.membership.cloud, class: AbstractStreamProvider

# Class AbstractStreamProvider

java.lang.Object
org.apache.catalina.tribes.membership.cloud.AbstractStreamProvider

All Implemented Interfaces:
  `StreamProvider`

Direct Known Subclasses:
  `CertificateStreamProvider, InsecureStreamProvider, TokenStreamProvider`

public abstract class AbstractStreamProvider extends Object implements StreamProvider
Abstract base class for `StreamProvider` implementations that provide common functionality for opening connections and streams.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final TrustManager[]`
  `INSECURE_TRUST_MANAGERS`
  Insecure trust managers that accept all certificates.
  `protected static final StringManager`
  `sm`
  The string manager for this package.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractStreamProvider()`
  Constructs a new AbstractStreamProvider.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static TrustManager[]`
  `configureCaCert(String caCertFile)`
  Configures trust managers using the specified CA certificate file.
  `protected abstract SSLSocketFactory`
  `getSocketFactory()`
  Returns the SSL socket factory.
  `URLConnection`
  `openConnection(String url, Map<String,String> headers, int connectTimeout, int readTimeout)`
  Open URL connection to the specified URL.
  `InputStream`
  `openStream(String url, Map<String,String> headers, int connectTimeout, int readTimeout)`
  Opens an input stream to the specified URL.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### sm

    protected static final StringManager sm
    The string manager for this package.

  - ### INSECURE_TRUST_MANAGERS

    protected static final TrustManager[] INSECURE_TRUST_MANAGERS
    Insecure trust managers that accept all certificates.

- ## Constructor Details

  - ### AbstractStreamProvider

    protected AbstractStreamProvider()
    Constructs a new AbstractStreamProvider.

- ## Method Details

  - ### getSocketFactory

    protected abstract SSLSocketFactory getSocketFactory()
    Returns the SSL socket factory.
    Returns:
      the socket factory, or null if not needed

  - ### openConnection

    public URLConnection openConnection(String url, Map<String,String> headers, int connectTimeout, int readTimeout) throws IOException
    Open URL connection to the specified URL.
    Parameters:
      `url` - the url
      `headers` - the headers map
      `connectTimeout` - connection timeout in ms
      `readTimeout` - read timeout in ms
    Returns:
      the URL connection
    Throws:
      `IOException` - when an error occurs

  - ### openStream

    public InputStream openStream(String url, Map<String,String> headers, int connectTimeout, int readTimeout) throws IOException
    Opens an input stream to the specified URL.
    Specified by:
      `openStream` in interface `StreamProvider`
    Parameters:
      `url` - the url
      `headers` - the headers map
      `connectTimeout` - connection timeout in ms
      `readTimeout` - read timeout in ms
    Returns:
      the input stream
    Throws:
      `IOException` - when an error occurs

  - ### configureCaCert

    protected static TrustManager[] configureCaCert(String caCertFile) throws Exception
    Configures trust managers using the specified CA certificate file.
    Parameters:
      `caCertFile` - the path to the CA certificate file
    Returns:
      an array of trust managers
    Throws:
      `Exception` - if an error occurs