Add support for request and response haeders in task cell header

This commit is contained in:
kean
2024-09-14 13:56:00 -04:00
parent 59ae038339
commit 02fc0cdc7b
2 changed files with 9 additions and 3 deletions
@@ -65,7 +65,7 @@ public struct ConsoleListDisplaySettings: Hashable, Codable {
public var id: URLComponent { self }
}
public enum TaskField: Sendable, Codable, Hashable, Identifiable, CaseIterable {
public enum TaskField: Sendable, Codable, Hashable, Identifiable {
case method
case requestSize
case responseSize
@@ -73,10 +73,10 @@ public struct ConsoleListDisplaySettings: Hashable, Codable {
case duration
case host
case statusCode
/// The type of the task, e.g. "Data" or "Download"
case taskType
/// The `taskDescription` value of `URLSessionTask`.
case taskDescription
case requestHeaderField(key: String)
case responseHeaderField(key: String)
public var id: TaskField { self }
@@ -91,6 +91,8 @@ public struct ConsoleListDisplaySettings: Hashable, Codable {
case .statusCode: "Status Code"
case .taskType: "Task Type"
case .taskDescription: "Task Description"
case .requestHeaderField(let key): "Request Header \"\(key)\""
case .responseHeaderField(let key): "Response Header '\(key)\""
}
}
}
@@ -167,6 +167,10 @@ private extension NetworkTaskEntity {
NetworkLogger.TaskType(rawValue: taskType)?.urlSessionTaskClassName
case .taskDescription:
taskDescription
case .requestHeaderField(let key):
(currentRequest?.headers ?? [:])[key]
case .responseHeaderField(let key):
(response?.headers ?? [:])[key]
}
}