|
|
@@ -84,6 +84,22 @@ public struct DownloadResponseSerializer<Value>: DownloadResponseSerializerProto
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// MARK: - Timeline
|
|
|
+
|
|
|
+extension Request {
|
|
|
+ var timeline: Timeline {
|
|
|
+ let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent()
|
|
|
+ let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime
|
|
|
+
|
|
|
+ return Timeline(
|
|
|
+ requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(),
|
|
|
+ initialResponseTime: initialResponseTime,
|
|
|
+ requestCompletedTime: requestCompletedTime,
|
|
|
+ serializationCompletedTime: CFAbsoluteTimeGetCurrent()
|
|
|
+ )
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// MARK: - Default
|
|
|
|
|
|
extension DataRequest {
|
|
|
@@ -101,7 +117,8 @@ extension DataRequest {
|
|
|
request: self.request,
|
|
|
response: self.response,
|
|
|
data: self.delegate.data,
|
|
|
- error: self.delegate.error
|
|
|
+ error: self.delegate.error,
|
|
|
+ timeline: self.timeline
|
|
|
)
|
|
|
|
|
|
dataResponse.add(self.delegate.metrics)
|
|
|
@@ -136,22 +153,12 @@ extension DataRequest {
|
|
|
self.delegate.error
|
|
|
)
|
|
|
|
|
|
- let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent()
|
|
|
- let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime
|
|
|
-
|
|
|
- let timeline = Timeline(
|
|
|
- requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(),
|
|
|
- initialResponseTime: initialResponseTime,
|
|
|
- requestCompletedTime: requestCompletedTime,
|
|
|
- serializationCompletedTime: CFAbsoluteTimeGetCurrent()
|
|
|
- )
|
|
|
-
|
|
|
var dataResponse = DataResponse<T.SerializedObject>(
|
|
|
request: self.request,
|
|
|
response: self.response,
|
|
|
data: self.delegate.data,
|
|
|
result: result,
|
|
|
- timeline: timeline
|
|
|
+ timeline: self.timeline
|
|
|
)
|
|
|
|
|
|
dataResponse.add(self.delegate.metrics)
|
|
|
@@ -184,7 +191,8 @@ extension DownloadRequest {
|
|
|
temporaryURL: self.downloadDelegate.temporaryURL,
|
|
|
destinationURL: self.downloadDelegate.destinationURL,
|
|
|
resumeData: self.downloadDelegate.resumeData,
|
|
|
- error: self.downloadDelegate.error
|
|
|
+ error: self.downloadDelegate.error,
|
|
|
+ timeline: self.timeline
|
|
|
)
|
|
|
|
|
|
downloadResponse.add(self.delegate.metrics)
|
|
|
@@ -219,16 +227,6 @@ extension DownloadRequest {
|
|
|
self.downloadDelegate.error
|
|
|
)
|
|
|
|
|
|
- let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent()
|
|
|
- let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime
|
|
|
-
|
|
|
- let timeline = Timeline(
|
|
|
- requestStartTime: self.startTime ?? CFAbsoluteTimeGetCurrent(),
|
|
|
- initialResponseTime: initialResponseTime,
|
|
|
- requestCompletedTime: requestCompletedTime,
|
|
|
- serializationCompletedTime: CFAbsoluteTimeGetCurrent()
|
|
|
- )
|
|
|
-
|
|
|
var downloadResponse = DownloadResponse<T.SerializedObject>(
|
|
|
request: self.request,
|
|
|
response: self.response,
|
|
|
@@ -236,7 +234,7 @@ extension DownloadRequest {
|
|
|
destinationURL: self.downloadDelegate.destinationURL,
|
|
|
resumeData: self.downloadDelegate.resumeData,
|
|
|
result: result,
|
|
|
- timeline: timeline
|
|
|
+ timeline: self.timeline
|
|
|
)
|
|
|
|
|
|
downloadResponse.add(self.delegate.metrics)
|