7
7
//
8
8
9
9
import Foundation
10
+ import UIKit
10
11
11
12
// TODO: authentication
12
13
// TODO: cache
@@ -81,8 +82,17 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
81
82
func setupSession( backgroundIdentifier: String ? = nil ) {
82
83
if backgroundIdentifier != nil {
83
84
if backgroundSession == nil {
84
- //backgroundSessionConfig = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier(backgroundIdentifier!)
85
- backgroundSessionConfig = NSURLSessionConfiguration . backgroundSessionConfiguration ( backgroundIdentifier!)
85
+
86
+ func systemVersionGreaterThanOrEqualTo( version: String ) -> Bool {
87
+ let osVersion = UIDevice . currentDevice ( ) . systemVersion
88
+ return osVersion. compare ( version, options: NSStringCompareOptions . NumericSearch) != NSComparisonResult . OrderedAscending
89
+ }
90
+
91
+ if systemVersionGreaterThanOrEqualTo ( " 8.0 " ) {
92
+ backgroundSessionConfig = NSURLSessionConfiguration . backgroundSessionConfigurationWithIdentifier ( backgroundIdentifier!)
93
+ } else {
94
+ backgroundSessionConfig = NSURLSessionConfiguration . backgroundSessionConfiguration ( backgroundIdentifier!)
95
+ }
86
96
backgroundSessionConfig!. HTTPMaximumConnectionsPerHost = HTTPMaximumconnectionsPerHost
87
97
88
98
backgroundSession = NSURLSession ( configuration: backgroundSessionConfig, delegate: self , delegateQueue: nil )
@@ -113,7 +123,7 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
113
123
114
124
func GET( # absoluteUrl: String, params: NSDictionary? , successHandler: SuccessHandler, failureHandler: FailureHandler)
115
125
-> NSURLSessionTask {
116
- return httpRequest ( . GET, url: absoluteUrl, params: params, successHandler : successHandler , failureHandler : failureHandler , isAbsoluteUrl : true )
126
+ return httpRequest ( . GET, url: absoluteUrl, params: params, isAbsoluteUrl : true , successHandler : successHandler , failureHandler : failureHandler )
117
127
}
118
128
119
129
// POST
@@ -124,7 +134,7 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
124
134
125
135
func POST( # absoluteUrl: String, params: NSDictionary? , successHandler: SuccessHandler, failureHandler: FailureHandler)
126
136
-> NSURLSessionTask {
127
- return httpRequest ( . POST, url: absoluteUrl, params: params, successHandler : successHandler , failureHandler : failureHandler , isAbsoluteUrl : true )
137
+ return httpRequest ( . POST, url: absoluteUrl, params: params, isAbsoluteUrl : true , successHandler : successHandler , failureHandler : failureHandler )
128
138
}
129
139
130
140
// PUT
@@ -135,7 +145,7 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
135
145
136
146
func PUT( # absoluteUrl: String, params: NSDictionary? , successHandler: SuccessHandler, failureHandler: FailureHandler)
137
147
-> NSURLSessionTask {
138
- return httpRequest ( . PUT, url: absoluteUrl, params: params, successHandler : successHandler , failureHandler : failureHandler , isAbsoluteUrl : true )
148
+ return httpRequest ( . PUT, url: absoluteUrl, params: params, isAbsoluteUrl : true , successHandler : successHandler , failureHandler : failureHandler )
139
149
}
140
150
141
151
// DELETE
@@ -145,7 +155,7 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
145
155
}
146
156
147
157
func DELETE( # absoluteUrl: String, params: NSDictionary? , successHandler: SuccessHandler, failureHandler: FailureHandler) -> NSURLSessionTask {
148
- return httpRequest ( . DELETE, url: absoluteUrl, params: params, successHandler : successHandler , failureHandler : failureHandler , isAbsoluteUrl : true )
158
+ return httpRequest ( . DELETE, url: absoluteUrl, params: params, isAbsoluteUrl : true , successHandler : successHandler , failureHandler : failureHandler )
149
159
}
150
160
151
161
// DOWNLOAD
@@ -296,7 +306,7 @@ class Net : NSObject, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate, NS
296
306
*
297
307
* @return request instance
298
308
*/
299
- private func httpRequest( method: HttpMethod , url: String , params: NSDictionary ? , successHandler : SuccessHandler , failureHandler : FailureHandler , isAbsoluteUrl : Bool = false ) -> NSURLSessionTask {
309
+ private func httpRequest( method: HttpMethod , url: String , params: NSDictionary ? , isAbsoluteUrl : Bool = false , successHandler : SuccessHandler , failureHandler : FailureHandler ) -> NSURLSessionTask {
300
310
let urlString = isAbsoluteUrl ? url : " \( baseUrl. absoluteString!) \( url) "
301
311
NSLog ( urlString)
302
312
0 commit comments