@@ -2,12 +2,12 @@ import Foundation
2
2
3
3
let BASE_URL_PROD = " https://listen-api.listennotes.com/api/v2 "
4
4
let BASE_URL_TEST = " https://listen-api-test.listennotes.com/api/v2 "
5
-
5
+ let DEFAULT_USER_AGENT = " podcast-api-swift "
6
6
7
7
public class Client {
8
8
private var apiKey : String
9
9
private var baseUrl : String = BASE_URL_PROD
10
- private var userAgent : String = " podcast-api-swift "
10
+ private var userAgent : String = DEFAULT_USER_AGENT
11
11
private var responseTimeoutSec : Int = 30
12
12
private var synchronousRequest : Bool = false
13
13
@@ -65,7 +65,7 @@ public class Client {
65
65
return key != " id "
66
66
} , completion: completion)
67
67
} else {
68
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
68
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
69
69
}
70
70
}
71
71
@@ -76,7 +76,7 @@ public class Client {
76
76
return key != " id "
77
77
} , completion: completion)
78
78
} else {
79
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
79
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
80
80
}
81
81
}
82
82
@@ -87,7 +87,7 @@ public class Client {
87
87
return key != " id "
88
88
} , completion: completion)
89
89
} else {
90
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
90
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
91
91
}
92
92
}
93
93
@@ -114,7 +114,7 @@ public class Client {
114
114
return key != " id "
115
115
} , completion: completion)
116
116
} else {
117
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
117
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
118
118
}
119
119
}
120
120
@@ -125,7 +125,7 @@ public class Client {
125
125
return key != " id "
126
126
} , completion: completion)
127
127
} else {
128
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
128
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
129
129
}
130
130
}
131
131
@@ -136,7 +136,7 @@ public class Client {
136
136
return key != " id "
137
137
} , completion: completion)
138
138
} else {
139
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
139
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
140
140
}
141
141
}
142
142
@@ -155,7 +155,7 @@ public class Client {
155
155
return key != " id "
156
156
} , completion: completion)
157
157
} else {
158
- completion ( ApiResponse ( data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
158
+ completion ( ApiResponse ( request : nil , data: nil , response: nil , httpError: nil , apiError: PodcastApiError . invalidRequestError) )
159
159
}
160
160
}
161
161
@@ -184,18 +184,19 @@ public class Client {
184
184
}
185
185
request. httpMethod = method
186
186
request. setValue ( self . apiKey, forHTTPHeaderField: " X-ListenAPI-Key " )
187
+ request. setValue ( self . userAgent, forHTTPHeaderField: " User-Agent " )
187
188
request. timeoutInterval = TimeInterval ( self . responseTimeoutSec)
188
189
189
190
let sema : DispatchSemaphore ? = self . synchronousRequest ? DispatchSemaphore ( value: 0 ) : nil ;
190
191
let task = URLSession . shared. dataTask ( with: request) { ( data, response, error) in
191
192
if let error = error {
192
- completion ? ( ApiResponse ( data: data, response: response, httpError: error, apiError: PodcastApiError . apiConnectionError) )
193
+ completion ? ( ApiResponse ( request : request , data: data, response: response, httpError: error, apiError: PodcastApiError . apiConnectionError) )
193
194
if let sema = sema {
194
195
sema. signal ( )
195
196
}
196
197
return
197
198
}
198
- completion ? ( ApiResponse ( data: data, response: response, httpError: error, apiError: nil ) )
199
+ completion ? ( ApiResponse ( request : request , data: data, response: response, httpError: error, apiError: nil ) )
199
200
if let sema = sema {
200
201
sema. signal ( )
201
202
}
0 commit comments