Skip to content

Commit 8c3d004

Browse files
committed
[Netlens] [Network Interceptor] - prepare network request and response mappers
1 parent d8368a7 commit 8c3d004

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// NetworkCall.swift
3+
// NetLens
4+
//
5+
// Created by NetLens on 09/07/2025.
6+
//
7+
8+
import Foundation
9+
10+
extension NetworkRequestDTO {
11+
init (from request: URLRequest) {
12+
self.init(
13+
url: request.url?.absoluteString ?? "",
14+
method: request.httpMethod ?? "GET",
15+
headers: request.allHTTPHeaderFields ?? [:],
16+
body: request.httpBody
17+
)
18+
}
19+
}
20+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//
2+
// NetworkCall.swift
3+
// NetLens
4+
//
5+
// Created by NetLens on 09/07/2025.
6+
//
7+
8+
import Foundation
9+
10+
extension NetworkResponseDTO {
11+
12+
init(
13+
from urlResponse: URLResponse,
14+
data: Data?
15+
) {
16+
let headers: [String: String]
17+
18+
if let httpResponse = urlResponse as? HTTPURLResponse {
19+
headers = httpResponse.allHeaderFields.reduce(into: [String: String]()) { result, entry in
20+
if let key = entry.key as? String {
21+
result[key] = "\(entry.value)"
22+
}
23+
}
24+
} else {
25+
headers = [:]
26+
}
27+
28+
self.init(
29+
statusCode: (urlResponse as? HTTPURLResponse)?.statusCode ?? 0,
30+
headers: headers,
31+
body: data
32+
)
33+
}
34+
}
35+
36+

0 commit comments

Comments
 (0)