@@ -2,12 +2,12 @@ import Foundation
22
33let BASE_URL_PROD = " https://listen-api.listennotes.com/api/v2 "
44let BASE_URL_TEST = " https://listen-api-test.listennotes.com/api/v2 "
5-
5+ let DEFAULT_USER_AGENT = " podcast-api-swift "
66
77public class Client {
88 private var apiKey : String
99 private var baseUrl : String = BASE_URL_PROD
10- private var userAgent : String = " podcast-api-swift "
10+ private var userAgent : String = DEFAULT_USER_AGENT
1111 private var responseTimeoutSec : Int = 30
1212 private var synchronousRequest : Bool = false
1313
@@ -65,7 +65,7 @@ public class Client {
6565 return key != " id "
6666 } , completion: completion)
6767 } 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) )
6969 }
7070 }
7171
@@ -76,7 +76,7 @@ public class Client {
7676 return key != " id "
7777 } , completion: completion)
7878 } 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) )
8080 }
8181 }
8282
@@ -87,7 +87,7 @@ public class Client {
8787 return key != " id "
8888 } , completion: completion)
8989 } 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) )
9191 }
9292 }
9393
@@ -114,7 +114,7 @@ public class Client {
114114 return key != " id "
115115 } , completion: completion)
116116 } 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) )
118118 }
119119 }
120120
@@ -125,7 +125,7 @@ public class Client {
125125 return key != " id "
126126 } , completion: completion)
127127 } 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) )
129129 }
130130 }
131131
@@ -136,7 +136,7 @@ public class Client {
136136 return key != " id "
137137 } , completion: completion)
138138 } 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) )
140140 }
141141 }
142142
@@ -155,7 +155,7 @@ public class Client {
155155 return key != " id "
156156 } , completion: completion)
157157 } 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) )
159159 }
160160 }
161161
@@ -184,18 +184,19 @@ public class Client {
184184 }
185185 request. httpMethod = method
186186 request. setValue ( self . apiKey, forHTTPHeaderField: " X-ListenAPI-Key " )
187+ request. setValue ( self . userAgent, forHTTPHeaderField: " User-Agent " )
187188 request. timeoutInterval = TimeInterval ( self . responseTimeoutSec)
188189
189190 let sema : DispatchSemaphore ? = self . synchronousRequest ? DispatchSemaphore ( value: 0 ) : nil ;
190191 let task = URLSession . shared. dataTask ( with: request) { ( data, response, error) in
191192 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) )
193194 if let sema = sema {
194195 sema. signal ( )
195196 }
196197 return
197198 }
198- completion ? ( ApiResponse ( data: data, response: response, httpError: error, apiError: nil ) )
199+ completion ? ( ApiResponse ( request : request , data: data, response: response, httpError: error, apiError: nil ) )
199200 if let sema = sema {
200201 sema. signal ( )
201202 }
0 commit comments