diff --git a/README.md b/README.md index 07e9846..42bddd0 100644 --- a/README.md +++ b/README.md @@ -133,17 +133,27 @@ modelArrayCall().then { users in ## Settings -Want to log all network calls and responses ? +Want to log all network calls and responses? ```swift ws.logLevels = .debug ``` -Want to hide network activity indicator ? +Want to hide network activity indicator? ```swift ws.showsNetworkActivityIndicator = false ``` +Want to override the default session manager to customize trust policies? + +```swift +import Alamofire + +ws.sessionManager = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager( + policies: ["myspecialhostname.com" : .disableEvaluation] +)) +``` + ## Api Example Here is a Typical CRUD example for Articles : diff --git a/Sources/ws/WS.swift b/Sources/ws/WS.swift index 988d770..0f44186 100644 --- a/Sources/ws/WS.swift +++ b/Sources/ws/WS.swift @@ -51,6 +51,7 @@ open class WS { open var headers = [String: String]() open var requestAdapter: RequestAdapter? open var requestRetrier: RequestRetrier? + open var sessionManager: SessionManager? open var mandatoryQueryParams = Params() /** @@ -85,6 +86,7 @@ open class WS { r.headers = headers r.requestAdapter = requestAdapter r.requestRetrier = requestRetrier + r.sessionManager = sessionManager r.errorHandler = errorHandler return r } diff --git a/Sources/ws/WSRequest.swift b/Sources/ws/WSRequest.swift index 2c20119..c21f398 100644 --- a/Sources/ws/WSRequest.swift +++ b/Sources/ws/WSRequest.swift @@ -52,6 +52,7 @@ open class WSRequest { open var errorHandler: ((JSON) -> Error?)? open var requestAdapter: RequestAdapter? open var requestRetrier: RequestRetrier? + open var sessionManager: SessionManager? private let logger = WSLogger() @@ -84,14 +85,14 @@ open class WSRequest { } func wsSessionManager() -> SessionManager { - let sessionManager = Alamofire.SessionManager.default + let activeSessionManager = sessionManager ?? Alamofire.SessionManager.default if let adapter = requestAdapter { - sessionManager.adapter = adapter + activeSessionManager.adapter = adapter } if let retrier = requestRetrier { - sessionManager.retrier = retrier + activeSessionManager.retrier = retrier } - return sessionManager + return activeSessionManager } func wsRequest(_ urlRequest: URLRequestConvertible) -> DataRequest { diff --git a/ws.podspec b/ws.podspec index 90af0fa..b0b1507 100644 --- a/ws.podspec +++ b/ws.podspec @@ -1,7 +1,6 @@ Pod::Spec.new do |s| s.name = "ws" - s.version = "5.1.1" - s.summary = "Elegant JSON WebService for Swift ☁️" + s.version = "5.1.1" s.summary = "Elegant JSON WebService for Swift ☁️" s.homepage = "https://github.com/freshOS/ws" s.license = { :type => "MIT", :file => "LICENSE" } s.author = "S4cha"