copy method

APIResponse<T> copy({
  1. APIResponseStatus? status,
  2. T? payload,
  3. Object? payloadDynamic,
  4. bool nullPayload = false,
  5. Etag? payloadETag,
  6. String? payloadFileExtension,
  7. CacheControl? cacheControl,
  8. Map<String, dynamic>? headers,
  9. Object? mimeType,
  10. Duration? keepAliveTimeout,
  11. int? keepAliveMaxRequests,
  12. Object? error,
  13. StackTrace? stackTrace,
  14. Map<String, APIMetric>? metrics,
})

Copy this response.

Implementation

APIResponse<T> copy(
    {APIResponseStatus? status,
    T? payload,
    Object? payloadDynamic,
    bool nullPayload = false,
    Etag? payloadETag,
    String? payloadFileExtension,
    CacheControl? cacheControl,
    Map<String, dynamic>? headers,
    Object? mimeType,
    Duration? keepAliveTimeout,
    int? keepAliveMaxRequests,
    Object? error,
    StackTrace? stackTrace,
    Map<String, APIMetric>? metrics}) {
  return APIResponse(status ?? this.status,
      payload: nullPayload
          ? null
          : (payload ?? (payloadDynamic == null ? this.payload : null)),
      payloadDynamic: nullPayload ? null : payloadDynamic,
      payloadMimeType: mimeType ?? payloadMimeType,
      payloadFileExtension: payloadFileExtension,
      payloadETag: payloadETag ?? this.payloadETag,
      cacheControl: cacheControl ?? this.cacheControl,
      headers: headers ?? this.headers,
      keepAliveTimeout: keepAliveTimeout ?? this.keepAliveTimeout,
      keepAliveMaxRequests: keepAliveMaxRequests ?? this.keepAliveMaxRequests,
      error: error,
      stackTrace: stackTrace,
      metrics: metrics ?? _metrics)
    .._copyStartedMetrics(this);
}