# Package com.castlabs.android.network

- Interface Summary
  Interface | Description
  --- | ---
  ConnectivityCheck | Implementations of this interface allow to check for internet connectivity.
  DataSourceFactory | Implementations of this interface are used to create `DataSource`s to fetch remote data.
  HttpDataSourceBuilder | Implementations of this interface are responsible for creating http data source instances.
  HttpListener | Listener related to HTTP events.
  RequestModifier | Implementation of this interface can intercept `Request`s and modify them before the request is sent.
  ResponseModifier | Implementation of this interface can intercept `Response`s and modify them before the response is processed further.

- Class Summary
  Class | Description
  --- | ---
  CustomX509TrustManager | Custom implementation of X509TrustManager uses two key stores: system default one and provided custom key store.
  DefaultConnectivityCheck | The default implementation of the connectivity checker.
  DefaultDataSourceFactory | The default implementation of the `DataSourceFactory`.
  DefaultHttpDataSourceBuilder | The default http data source builder.
  ExtendedDataSource | A `DataSource` that supports multiple URI schemes.
  GoogleDNSConnectivityCheck |
  ModifierDataSourceFactory | Delegating data source factory that will trigger all `RequestModifier`s registered with the player controller.
  NetworkConfiguration |
  NetworkConfiguration.Builder |
  Request | A modifiable request.
  Response | A modifiable response.
  RetryConfiguration | Configures the network request retry behaviour.
  RetryConfiguration.Builder | Use this builder to create new instances of the retry configuration
  SocketConnectivityCheck |
  UserAgent | Instances of this class are used to construct the user agent that is used for HTTP requests.

- Exception Summary
  Exception | Description
  --- | ---
  ConnectivityRegainedException | This exception is thrown as a marker when the player lost connectivity, was waiting to re-gain it, and then got it back.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Request.RequestType | Represents a request data type
  Response.ResponseType | Represents a request data type
  UserAgent.UserAgentFlags | The flags that enable or disable field presence in the User-Agent.