Back to Alamofire

DataResponse

docs/docsets/Alamofire.docset/Contents/Resources/Documents/Structs/DataResponse.html

5.12.07.2 KB
Original Source

DataResponse

public struct DataResponse<Success, Failure> : Sendable where Success : Sendable, Failure : Error
extension DataResponse: CustomStringConvertible, CustomDebugStringConvertible

Type used to store all values associated with a serialized response of a DataRequest or UploadRequest.

`

                request
                `

The URL request sent to the server.

Declaration

Swift

public let request: URLRequest?

`

                response
                `

The server’s response to the URL request.

Declaration

Swift

public let response: HTTPURLResponse?

`

                data
                `

The data returned by the server.

Declaration

Swift

public let data: Data?

`

                metrics
                `

The final metrics of the response.

Note

Due to FB7624529, collection of URLSessionTaskMetrics on watchOS is currently disabled.`

Declaration

Swift

public let metrics: URLSessionTaskMetrics?

`

                serializationDuration
                `

The time taken to serialize the response.

Declaration

Swift

public let serializationDuration: TimeInterval

`

                result
                `

The result of response serialization.

Declaration

Swift

public let result: Result<Success, Failure>

`

                value
                `

Returns the associated value of the result if it is a success, nil otherwise.

Declaration

Swift

public var value: Success? { get }

`

                error
                `

Returns the associated error value if the result if it is a failure, nil otherwise.

Declaration

Swift

public var error: Failure? { get }

`

                init(request:response:data:metrics:serializationDuration:result:)
                `

Creates a DataResponse instance with the specified parameters derived from the response serialization.

Declaration

Swift

public init(request: URLRequest?,
            response: HTTPURLResponse?,
            data: Data?,
            metrics: URLSessionTaskMetrics?,
            serializationDuration: TimeInterval,
            result: Result<Success, Failure>)

Parameters

| request |

The URLRequest sent to the server.

| | response |

The HTTPURLResponse from the server.

| | data |

The Data returned by the server.

| | metrics |

The URLSessionTaskMetrics of the DataRequest or UploadRequest.

| | serializationDuration |

The duration taken by serialization.

| | result |

The Result of response serialization.

|

`

                description
                `

The textual representation used when written to an output stream, which includes whether the result was a success or failure.

Declaration

Swift

public var description: String { get }

`

                debugDescription
                `

The debug textual representation used when written to an output stream, which includes (if available) a summary of the URLRequest, the request’s headers and body (if decodable as a String below 100KB); the HTTPURLResponse‘s status code, headers, and body; the duration of the network and serialization actions; and the Result of serialization.

Declaration

Swift

public var debugDescription: String { get }

`

                map(_:)
                `

Evaluates the specified closure when the result of this DataResponse is a success, passing the unwrapped result value as a parameter.

Use the map method with a closure that does not throw. For example:

let possibleData: DataResponse<Data> = ...
let possibleInt = possibleData.map { $0.count }

Declaration

Swift

public func map<NewSuccess>(_ transform: (Success) -> NewSuccess) -> DataResponse<NewSuccess, Failure> where NewSuccess : Sendable

Parameters

| transform |

A closure that takes the success value of the instance’s result.

|

Return Value

A DataResponse whose result wraps the value returned by the given closure. If this instance’s result is a failure, returns a response wrapping the same failure.

`

                tryMap(_:)
                `

Evaluates the given closure when the result of this DataResponse is a success, passing the unwrapped result value as a parameter.

Use the tryMap method with a closure that may throw an error. For example:

let possibleData: DataResponse<Data> = ...
let possibleObject = possibleData.tryMap {
    try JSONSerialization.jsonObject(with: $0)
}

Declaration

Swift

public func tryMap<NewSuccess>(_ transform: (Success) throws -> NewSuccess) -> DataResponse<NewSuccess, any Error> where NewSuccess : Sendable

Parameters

| transform |

A closure that takes the success value of the instance’s result.

|

Return Value

A success or failure DataResponse depending on the result of the given closure. If this instance’s result is a failure, returns the same failure.

`

                mapError(_:)
                `

Evaluates the specified closure when the DataResponse is a failure, passing the unwrapped error as a parameter.

Use the mapError function with a closure that does not throw. For example:

let possibleData: DataResponse<Data> = ...
let withMyError = possibleData.mapError { MyError.error($0) }

Declaration

Swift

public func mapError<NewFailure>(_ transform: (Failure) -> NewFailure) -> DataResponse<Success, NewFailure> where NewFailure : Error

Parameters

| transform |

A closure that takes the error of the instance.

|

Return Value

A DataResponse instance containing the result of the transform.

`

                tryMapError(_:)
                `

Evaluates the specified closure when the DataResponse is a failure, passing the unwrapped error as a parameter.

Use the tryMapError function with a closure that may throw an error. For example:

let possibleData: DataResponse<Data> = ...
let possibleObject = possibleData.tryMapError {
    try someFailableFunction(taking: $0)
}

Declaration

Swift

public func tryMapError<NewFailure>(_ transform: (Failure) throws -> NewFailure) -> DataResponse<Success, any Error> where NewFailure : Error

Parameters

| transform |

A throwing closure that takes the error of the instance.

|

Return Value

A DataResponse instance containing the result of the transform.