DataRequest - SwiftDocOrg/Alamofire GitHub Wiki
Request subclass which handles in-memory Data download using URLSessionDataTask.
public class DataRequest: RequestA closure used to validate a request that takes a URL request, a URL response and data, and returns whether the request was valid.
public typealias Validation = (URLRequest?, HTTPURLResponse, Data?) -> ValidationResultURLRequestConvertible value used to create URLRequests for this instance.
let convertible: URLRequestConvertibleData read from the server so far.
var data: Data?Validates the request, using the specified closure.
@discardableResult public func validate(_ validation: @escaping Validation) -> Self- validation:
Validationclosure used to validate the response.
The instance.
Adds a handler to be called once the request has finished.
@discardableResult public func response(queue: DispatchQueue = .main, completionHandler: @escaping (AFDataResponse<Data?>) -> Void) -> Self- queue: The queue on which the completion handler is dispatched.
.mainby default. - completionHandler: The code to be executed once the request has finished.
The request.
Adds a handler to be called once the request has finished.
@discardableResult public func response<Serializer: DataResponseSerializerProtocol>(queue: DispatchQueue = .main, responseSerializer: Serializer, completionHandler: @escaping (AFDataResponse<Serializer.SerializedObject>) -> Void) -> Self- queue: The queue on which the completion handler is dispatched.
.mainby default - responseSerializer: The response serializer responsible for serializing the request, response, and data.
- completionHandler: The code to be executed once the request has finished.
The request.
Adds a handler to be called once the request has finished.
@discardableResult public func responseData(queue: DispatchQueue = .main, completionHandler: @escaping (AFDataResponse<Data>) -> Void) -> Self- queue: The queue on which the completion handler is dispatched.
.mainby default. - completionHandler: The code to be executed once the request has finished.
The request.
Adds a handler to be called once the request has finished.
@discardableResult public func responseString(queue: DispatchQueue = .main, encoding: String.Encoding? = nil, completionHandler: @escaping (AFDataResponse<String>) -> Void) -> Self- queue: The queue on which the completion handler is dispatched.
.mainby default. - encoding: The string encoding. Defaults to
nil, in which case the encoding will be determined from the server response, falling back to the default HTTP character set,ISO-8859-1. - completionHandler: A closure to be executed once the request has finished.
The request.
Adds a handler to be called once the request has finished.
@discardableResult public func responseJSON(queue: DispatchQueue = .main, options: JSONSerialization.ReadingOptions = .allowFragments, completionHandler: @escaping (AFDataResponse<Any>) -> Void) -> Self- queue: The queue on which the completion handler is dispatched.
.mainby default. - options: The JSON serialization reading options.
.allowFragmentsby default. - completionHandler: A closure to be executed once the request has finished.
The request.
Adds a handler to be called once the request has finished.
@discardableResult public func responseDecodable<T: Decodable>(of type: T.Type = T.self, queue: DispatchQueue = .main, decoder: DataDecoder = JSONDecoder(), completionHandler: @escaping (AFDataResponse<T>) -> Void) -> Self- type:
Decodabletype to decode from response data. - queue: The queue on which the completion handler is dispatched.
.mainby default. - decoder:
DataDecoderto use to decode the response.JSONDecoder()by default. - completionHandler: A closure to be executed once the request has finished.
The request.
Validates that the response has a status code in the specified sequence.
@discardableResult public func validate<S: Sequence>(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == IntIf validation fails, subsequent calls to response handlers will have an associated error.
- range: The range of acceptable status codes.
The request.
Validates that the response has a content type in the specified sequence.
@discardableResult public func validate<S: Sequence>(contentType acceptableContentTypes: @escaping @autoclosure () -> S) -> Self where S.Iterator.Element == StringIf validation fails, subsequent calls to response handlers will have an associated error.
- contentType: The acceptable content types, which may specify wildcard types and/or subtypes.
The request.
Validates that the response has a status code in the default acceptable range of 200...299, and that the content type matches any specified in the Accept HTTP header field.
@discardableResult public func validate() -> SelfIf validation fails, subsequent calls to response handlers will have an associated error.
The request.