Преглед изворни кода

Add info for debugDescription (#2700)

* feat (Response) : add info for debugDescription

add parameters info for debugDescription of DataResponse and DownloadResponse

* refactor (Response) : update

* feat (Response) : add Response Body for debugDescription
rain2540 пре 6 година
родитељ
комит
dd8eff7e15
1 измењених фајлова са 8 додато и 0 уклоњено
  1. 8 0
      Source/Response.swift

+ 8 - 0
Source/Response.swift

@@ -88,6 +88,7 @@ extension DataResponse: CustomStringConvertible, CustomDebugStringConvertible {
     /// result.
     public var debugDescription: String {
         let requestDescription = request.map { "\($0.httpMethod!) \($0)" } ?? "nil"
+        let requestBody = request?.httpBody.map { String(decoding: $0, as: UTF8.self) } ?? "None"
         let responseDescription = response.map { (response) in
             let sortedHeaders = response.httpHeaders.sorted()
 
@@ -97,11 +98,14 @@ extension DataResponse: CustomStringConvertible, CustomDebugStringConvertible {
                    \(sortedHeaders)
                    """
         } ?? "nil"
+        let responseBody = data.map { String(decoding: $0, as: UTF8.self) } ?? "None"
         let metricsDescription = metrics.map { "\($0.taskInterval.duration)s" } ?? "None"
 
         return """
         [Request]: \(requestDescription)
+        [Request Body]: \n\(requestBody)
         [Response]: \n\(responseDescription)
+        [Response Body]: \n\(responseBody)
         [Data]: \(data?.description ?? "None")
         [Network Duration]: \(metricsDescription)
         [Serialization Duration]: \(serializationDuration)s
@@ -272,6 +276,7 @@ extension DownloadResponse: CustomStringConvertible, CustomDebugStringConvertibl
     /// actions, and the response serialization result.
     public var debugDescription: String {
         let requestDescription = request.map { "\($0.httpMethod!) \($0)" } ?? "nil"
+        let requestBody = request?.httpBody.map { String(decoding: $0, as: UTF8.self) } ?? "None"
         let responseDescription = response.map { (response) in
             let sortedHeaders = response.httpHeaders.sorted()
 
@@ -281,12 +286,15 @@ extension DownloadResponse: CustomStringConvertible, CustomDebugStringConvertibl
                    \(sortedHeaders)
                    """
         } ?? "nil"
+        let responseBody = data.map { String(decoding: $0, as: UTF8.self) } ?? "None"
         let metricsDescription = metrics.map { "\($0.taskInterval.duration)s" } ?? "None"
         let resumeDataDescription = resumeData.map { "\($0)" } ?? "None"
 
         return """
         [Request]: \(requestDescription)
+        [Request Body]: \n\(requestBody)
         [Response]: \n\(responseDescription)
+        [Response Body]: \n\(responseBody)
         [File URL]: \(fileURL?.path ?? "nil")
         [ResumeData]: \(resumeDataDescription)
         [Network Duration]: \(metricsDescription)