@@ -11,17 +11,11 @@ struct URLSessionHTTPClient: HTTPClient {
1111 private let urlSession : URLSessionProtocol
1212
1313 init ( urlSession: URLSessionProtocol ? = nil ) {
14- let configuration = URLSessionConfiguration . default
15- configuration. httpAdditionalHeaders = [
16- " Accept " : " application/json " ,
17- " X-Platform " : " ios " ,
18- " X-SDK-Version " : BundleInfo . sdkVersion ?? " " ,
19- " X-Source " : BundleInfo . appName ?? " " ,
20- ]
21- self . urlSession = urlSession ?? URLSession ( configuration: configuration)
14+ self . urlSession = urlSession ?? URLSession ( configuration: URLSessionConfiguration . default)
2215 }
2316
2417 func data( with request: URLRequest ) async throws -> ( Data , HTTPURLResponse ) {
18+ let request = request. withHeaders ( )
2519 let result : ( data: Data , response: URLResponse )
2620 do {
2721 result = try await urlSession. data ( for: request)
@@ -33,6 +27,7 @@ struct URLSessionHTTPClient: HTTPClient {
3327 }
3428
3529 func uploadData( with request: URLRequest , data: Data ) async throws -> ( Data , HTTPURLResponse ) {
30+ let request = request. withHeaders ( )
3631 let result : ( data: Data , response: URLResponse )
3732 do {
3833 result = try await urlSession. upload ( for: request, from: data)
@@ -49,6 +44,15 @@ extension URLRequest {
4944 requestCopy. setValue ( " Bearer \( token) " , forHTTPHeaderField: " Authorization " )
5045 return requestCopy
5146 }
47+
48+ func withHeaders( ) -> URLRequest {
49+ var request = self
50+ request. addValue ( " application/json " , forHTTPHeaderField: " Accept " )
51+ request. addValue ( " ios " , forHTTPHeaderField: " X-Platform " )
52+ request. addValue ( BundleInfo . sdkVersion ?? " " , forHTTPHeaderField: " X-SDK-Version " )
53+ request. addValue ( BundleInfo . appName ?? " " , forHTTPHeaderField: " X-Source " )
54+ return request
55+ }
5256}
5357
5458private func validatedHTTPResponse( _ response: URLResponse , data: Data ) throws -> HTTPURLResponse {
0 commit comments