Networking

  • A protocol that custom server API requests must conform to.

    Declaration

    Swift

    public protocol APIRequestType : AnyObject, CustomStringConvertible, SchedulableTask
  • A protocol that custom server API request configurations must conform to.

    Declaration

    Swift

    public protocol APIRequestConfigurationType
  • The status of the API request execution.

    Declaration

    Swift

    public enum APIRequestStatus : String, CustomStringConvertible
  • The Enumeration that provides the executing behavior for API requests.

    Declaration

    Swift

    public enum APIRequestExecutionBehavior
  • This class is responsible for scheduling and executing the network requests. It can be used to stop / start all network activity if necessary.

    Declaration

    Swift

    public class APIRequestExecutor
  • This class creates a formatted description of an APIRequestType object and logs it to file using LogHelper APIs.

    See also

    LogHelper
    Declaration

    Swift

    public final class APIRequestLogger
  • A closure provided by the type conforming to APIRequestConfigurationType protocol. This will be called by APIRequest with raw URLResponse so the implementer has an opportunity to parse and infer any custom errors if necessary.

    Declaration

    Swift

    public typealias CustomErrorExtractor = (DataResponse<Data>) -> UsherErrorProtocol?
  • Enum representation wrapper for NSURLAuthenticationMethod. Only authentication methods supported by APIrequestType are listed.

    Declaration

    Swift

    public enum URLAuthenticationMethod : RawRepresentable
  • A protocol for the class that will provide the URLCredential for the specified authentication challenge.

    Declaration

    Swift

    public protocol URLCredentialProvider
  • This class is the default credential provider for URLAuthenticationMethod.serverTrust. It conforms to the URLCredentialProvider protocol. The purpose of this class is to make certificate pinning easy to set up. All the heavy lifting is done by this class and APIRequestType. The caller only needs to call the necessary API to pin a certificate or SPKI fingerprint for their server.

    Declaration

    Swift

    public final class ServerTrustManager
    extension ServerTrustManager: URLCredentialProvider
  • Helper class for the TLS workflows.

    Declaration

    Swift

    public class TLSTools : NSObject, URLSessionTaskDelegate