@@ -3,10 +3,10 @@ import Alamofire
3
3
4
4
open class AlamofireRequestExecutor : RequestExecutor {
5
5
6
- private let manager : SessionManager
6
+ private let manager : Session
7
7
private let baseURL : URL
8
8
9
- public init ( baseURL: URL , manager: SessionManager = SessionManager . default) {
9
+ public init ( baseURL: URL , manager: Session = . default) {
10
10
self . manager = manager
11
11
self . baseURL = baseURL
12
12
}
@@ -20,7 +20,7 @@ open class AlamofireRequestExecutor: RequestExecutor {
20
20
method: request. alamofireMethod,
21
21
parameters: request. parameters,
22
22
encoding: request. alamofireEncoding,
23
- headers: request. headers
23
+ headers: request. alamofireHeaders
24
24
)
25
25
. response { response in
26
26
guard let httpResponse = response. response, let data = response. data else {
@@ -40,39 +40,36 @@ open class AlamofireRequestExecutor: RequestExecutor {
40
40
public func execute( multipartRequest: MultipartAPIRequest , completion: @escaping APIResultResponse ) -> Cancelable {
41
41
let cancellationSource = CancellationTokenSource ( )
42
42
let requestPath = path ( for: multipartRequest)
43
-
44
- manager
45
- . upload (
46
- multipartFormData: multipartRequest. multipartFormData,
47
- to: requestPath,
48
- method: multipartRequest. alamofireMethod,
49
- headers: multipartRequest. headers,
50
- encodingCompletion: { encodingResult in
51
- switch encodingResult {
52
- case . success( var request, _, _) :
53
- cancellationSource. token. register {
54
- request. cancel ( )
55
- }
56
-
57
- if let progressHandler = multipartRequest. progressHandler {
58
- request = request. uploadProgress { progress in
59
- progressHandler ( progress)
60
- }
61
- }
62
- request. responseJSON ( completionHandler: { response in
63
- guard let httpResponse = response. response, let data = response. data else {
64
- AlamofireRequestExecutor . defineError ( response. error, completion: completion)
65
- return
66
- }
67
-
68
- completion ( . success( ( httpResponse, data) ) )
69
- } )
70
-
71
- case . failure( let error) :
72
- completion ( . failure( error) )
73
- }
74
- } )
75
-
43
+
44
+ manager. upload (
45
+ multipartFormData: multipartRequest. multipartFormData,
46
+ to: requestPath,
47
+ method: multipartRequest. alamofireMethod,
48
+ headers: multipartRequest. alamofireHeaders)
49
+ . uploadProgress ( queue: . main, closure: { progress in
50
+ if let progressHandler = multipartRequest. progressHandler {
51
+ progressHandler ( progress)
52
+ }
53
+ } )
54
+ . responseJSON { response in
55
+ switch response. result {
56
+ case . success:
57
+ guard
58
+ let httpResponse = response. response,
59
+ let data = response. data
60
+ else {
61
+ AlamofireRequestExecutor . defineError ( response. error, completion: completion)
62
+
63
+ return
64
+ }
65
+
66
+ completion ( . success( ( httpResponse, data) ) )
67
+
68
+ case . failure( let error) :
69
+ completion ( . failure( error) )
70
+ }
71
+ }
72
+
76
73
return cancellationSource
77
74
}
78
75
@@ -85,7 +82,7 @@ open class AlamofireRequestExecutor: RequestExecutor {
85
82
method: downloadRequest. alamofireMethod,
86
83
parameters: downloadRequest. parameters,
87
84
encoding: downloadRequest. alamofireEncoding,
88
- headers: downloadRequest. headers ,
85
+ headers: downloadRequest. alamofireHeaders ,
89
86
to: destination ( for: destinationPath)
90
87
)
91
88
@@ -96,9 +93,12 @@ open class AlamofireRequestExecutor: RequestExecutor {
96
93
}
97
94
98
95
request. responseData { response in
99
- guard let httpResponse = response. response, let data = response. result. value else {
100
- AlamofireRequestExecutor . defineError ( response. error, completion: completion)
101
- return
96
+ guard
97
+ let httpResponse = response. response,
98
+ let data = response. value
99
+ else {
100
+ AlamofireRequestExecutor . defineError ( response. error, completion: completion)
101
+ return
102
102
}
103
103
104
104
completion ( . success( ( httpResponse, data) ) )
@@ -118,11 +118,11 @@ open class AlamofireRequestExecutor: RequestExecutor {
118
118
. removingPercentEncoding!
119
119
}
120
120
121
- private func destination( for url: URL ? ) -> DownloadRequest . DownloadFileDestination ? {
121
+ private func destination( for url: URL ? ) -> DownloadRequest . Destination ? {
122
122
guard let url = url else {
123
123
return nil
124
124
}
125
- let destination : DownloadRequest . DownloadFileDestination = { _, _ in
125
+ let destination : DownloadRequest . Destination = { _, _ in
126
126
return ( url, [ . removePreviousFile, . createIntermediateDirectories] )
127
127
}
128
128
0 commit comments