@@ -11,7 +11,7 @@ import Alamofire
1111import SwiftyJSON
1212
1313public protocol BuckoErrorHandler : class {
14- func buckoRequest( request: URLRequest , error: Error )
14+ func buckoRequest( request: URLRequest , error: Error )
1515}
1616
1717public typealias BuckoResponseClosure = ( ( DataResponse < Any > ) -> Void )
@@ -24,75 +24,79 @@ public typealias Body = Parameters
2424public typealias Json = JSON
2525
2626public struct Bucko {
27- /**
28- Can be overriden to configure the session manager.
29- e.g - Creating server trust policies
30- ```
31- let manager: SessionManager = {
32- // Create the server trust policies
33- let serverTrustPolicies: [String: ServerTrustPolicy] = [
34- "0.0.0.0": .disableEvaluation // Use your server obviously. Can be a url as well, example.com
35- ]
36- // Create custom manager
37- let configuration = URLSessionConfiguration.default
38- configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders
39- let manager = SessionManager(
40- configuration: URLSessionConfiguration.default,
41- serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
42- )
43- return manager
44- }()
45-
46- Bucko.shared.manager = manager
47-
48- ```
49- */
50- public var manager : SessionManager = SessionManager ( )
51- public static let shared = Bucko ( )
52- public weak var delegate : BuckoErrorHandler ?
27+ /**
28+ Can be overriden to configure the session manager.
29+ e.g - Creating server trust policies
30+ ```
31+ let manager: SessionManager = {
32+ // Create the server trust policies
33+ let serverTrustPolicies: [String: ServerTrustPolicy] = [
34+ "0.0.0.0": .disableEvaluation // Use your server obviously. Can be a url as well, example.com
35+ ]
36+ // Create custom manager
37+ let configuration = URLSessionConfiguration.default
38+ configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders
39+ let manager = SessionManager(
40+ configuration: URLSessionConfiguration.default,
41+ serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
42+ )
43+ return manager
44+ }()
45+
46+ Bucko.shared.manager = manager
47+
48+ ```
49+ */
50+ public var manager : SessionManager = SessionManager ( )
51+ public static let shared = Bucko ( )
52+ public weak var delegate : BuckoErrorHandler ?
53+
54+ public init ( ) {
5355
54- /**
55- Make API requests
56-
57- Example:
58-
59- ```
60- let request = Bucko.shared.request(.getUser(id: "1")) { response in
61- if let response.result.isSuccess {
62- let json = JSON(response.result.value!)
56+ }
57+
58+ /**
59+ Make API requests
60+
61+ Example:
62+
63+ ```
64+ let request = Bucko.shared.request(.getUser(id: "1")) { response in
65+ if let response.result.isSuccess {
66+ let json = JSON(response.result.value!)
67+ } else {
68+ // Handle error
69+ }
70+ ```
71+
72+ - parameter endpoint: The endpoint to use.
73+ - parameter completion: The closure that will return the response from the server.
74+ - returns: The request that was made.
75+ */
76+ @discardableResult
77+ public func request( endpoint: Endpoint , completion: @escaping BuckoResponseClosure ) -> Request {
78+ let request = manager. request (
79+ endpoint. fullURL,
80+ method: endpoint. method,
81+ parameters: endpoint. body,
82+ encoding: endpoint. encoding,
83+ headers: endpoint. headers
84+ ) . responseJSON { response in
85+
86+ if response. result. isSuccess {
87+ debugPrint ( response. result. description)
6388 } else {
64- // Handle error
65- }
66- ```
67-
68- - parameter endpoint: The endpoint to use.
69- - parameter completion: The closure that will return the response from the server.
70- - returns: The request that was made.
71- */
72- @discardableResult
73- public func request( endpoint: Endpoint , completion: @escaping BuckoResponseClosure ) -> Request {
74- let request = manager. request (
75- endpoint. fullURL,
76- method: endpoint. method,
77- parameters: endpoint. body,
78- encoding: endpoint. encoding,
79- headers: endpoint. headers
80- ) . responseJSON { response in
81-
82- if response. result. isSuccess {
83- debugPrint ( response. result. description)
84- } else {
85- debugPrint ( response. result. error ?? " Error " )
86- // Can globably handle errors here if you want
87- if let urlRequest = response. request, let error = response. result. error {
88- self . delegate? . buckoRequest ( request: urlRequest, error: error)
89- }
90- }
91-
92- completion ( response)
89+ debugPrint ( response. result. error ?? " Error " )
90+ // Can globably handle errors here if you want
91+ if let urlRequest = response. request, let error = response. result. error {
92+ self . delegate? . buckoRequest ( request: urlRequest, error: error)
93+ }
9394 }
9495
95- print ( request. description)
96- return request
96+ completion ( response)
9797 }
98+
99+ print ( request. description)
100+ return request
101+ }
98102}
0 commit comments