SessionManagable

public protocol SessionManagable

Represents a Alamofire.SessionManager that is associated with Configurable. configuration.sessionManager by default.

Create custom SessionManagable

protocol HTTPBinSessionManagable: SessionManagable { }

extension HTTPBinSessionManagable {

  var sessionManager: Alamofire.SessionManager {
    let sessionConfiguration = URLSessionConfiguration.default
    sessionConfiguration.timeoutIntervalForRequest = 7
    sessionConfiguration.timeoutIntervalForResource = 7
    sessionConfiguration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
    return Alamofire.SessionManager(configuration: sessionConfiguration)
  }

}

Using the above SessionManagable

class HTTPBinStringGETService: Requestable, HTTPBinSessionManagable {

  let path: String = "get"
  let encoding: ParameterEncoding = URLEncoding.default
  var parameters: Any?

  init(parameters: Any?) {
    self.parameters = parameters
  }

}
  • sessionManager Default implementation

    The sessionManager.

    Default Implementation

    configuration.sessionManager

    Declaration

    Swift

    var sessionManager: Alamofire.SessionManager