DataRequest

open class DataRequest : Request

Specific type of Request that manages an underlying URLSessionDataTask.

Properties

  • The request sent or to be sent to the server.

    Declaration

    Swift

    open override var request: URLRequest? { get }
  • The progress of fetching the response data from the server for the request.

    Declaration

    Swift

    open var progress: Progress { get }

Stream

  • Sets a closure to be called periodically during the lifecycle of the request as data is read from the server.

    This closure returns the bytes most recently received from the server, not including data from previous calls. If this closure is set, data will only be available within this closure, and will not be saved elsewhere. It is also important to note that the server data in any Response object will be nil.

    Declaration

    Swift

    @discardableResult
    open func stream(closure: ((Data) -> Void)? = nil) -> Self

    Parameters

    closure

    The code to be executed periodically during the lifecycle of the request.

    Return Value

    The request.

Progress

  • Sets a closure to be called periodically during the lifecycle of the Request as data is read from the server.

    Declaration

    Swift

    @discardableResult
    open func downloadProgress(queue: DispatchQueue = DispatchQueue.main, closure: @escaping ProgressHandler) -> Self

    Parameters

    queue

    The dispatch queue to execute the closure on.

    closure

    The code to be executed periodically as data is read from the server.

    Return Value

    The request.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func response() -> DefaultDataResponse

    Return Value

    The response.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func response<T>(responseSerializer: T) -> DataResponse<T.SerializedObject> where T : DataResponseSerializerProtocol

    Parameters

    responseSerializer

    The response serializer responsible for serializing the request, response, and data.

    Return Value

    The response.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func responseData() -> DataResponse<Data>

    Return Value

    The response.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func responseJSON(options: JSONSerialization.ReadingOptions = .allowFragments) -> DataResponse<Any>

    Parameters

    options

    The JSON serialization reading options. .AllowFragments by default.

    Return Value

    The response.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func responseString(encoding: String.Encoding? = nil) -> DataResponse<String>

    Parameters

    encoding

    The string encoding. If nil, the string encoding will be determined from the server response, falling back to the default HTTP default character set, ISO-8859-1.

    Return Value

    The response.

  • Wait for the request to finish then return the response value.

    Declaration

    Swift

    public func responsePropertyList(options: PropertyListSerialization.ReadOptions = PropertyListSerialization.ReadOptions()) -> DataResponse<Any>

    Parameters

    options

    The property list reading options. Defaults to [].

    Return Value

    The response.

Default

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func response(queue: DispatchQueue? = nil, completionHandler: @escaping (DefaultDataResponse) -> Void) -> Self

    Parameters

    queue

    The queue on which the completion handler is dispatched.

    completionHandler

    The code to be executed once the request has finished.

    Return Value

    The request.

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func response<T: DataResponseSerializerProtocol>(
    	queue: DispatchQueue? = nil,
    	responseSerializer: T,
    	completionHandler: @escaping (DataResponse<T.SerializedObject>) -> Void)
    -> Self

    Parameters

    queue

    The queue on which the completion handler is dispatched.

    responseSerializer

    The response serializer responsible for serializing the request, response, and data.

    completionHandler

    The code to be executed once the request has finished.

    Return Value

    The request.

Data

  • Creates a response serializer that returns the associated data as-is.

    Declaration

    Swift

    public static func dataResponseSerializer() -> DataResponseSerializer<Data>

    Return Value

    A data response serializer.

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func responseData(
    	queue: DispatchQueue? = nil,
    	completionHandler: @escaping (DataResponse<Data>) -> Void)
    -> Self

    Parameters

    completionHandler

    The code to be executed once the request has finished.

    Return Value

    The request.

String

  • Creates a response serializer that returns a result string type initialized from the response data with the specified string encoding.

    Declaration

    Swift

    public static func stringResponseSerializer(encoding: String.Encoding? = nil) -> DataResponseSerializer<String>

    Parameters

    encoding

    The string encoding. If nil, the string encoding will be determined from the server response, falling back to the default HTTP default character set, ISO-8859-1.

    Return Value

    A string response serializer.

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func responseString(
    	queue: DispatchQueue? = nil,
    	encoding: String.Encoding? = nil,
    	completionHandler: @escaping (DataResponse<String>) -> Void)
    -> Self

    Parameters

    encoding

    The string encoding. If nil, the string encoding will be determined from the server response, falling back to the default HTTP default character set, ISO-8859-1.

    completionHandler

    A closure to be executed once the request has finished.

    Return Value

    The request.

JSON

  • Creates a response serializer that returns a JSON object result type constructed from the response data using JSONSerialization with the specified reading options.

    Declaration

    Swift

    public static func jsonResponseSerializer(
    	options: JSONSerialization.ReadingOptions = .allowFragments)
    -> DataResponseSerializer<Any>

    Parameters

    options

    The JSON serialization reading options. Defaults to .allowFragments.

    Return Value

    A JSON object response serializer.

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func responseJSON(
    	queue: DispatchQueue? = nil,
    	options: JSONSerialization.ReadingOptions = .allowFragments,
    	completionHandler: @escaping (DataResponse<Any>) -> Void)
    -> Self

    Parameters

    options

    The JSON serialization reading options. Defaults to .allowFragments.

    completionHandler

    A closure to be executed once the request has finished.

    Return Value

    The request.

Property List

  • Creates a response serializer that returns an object constructed from the response data using PropertyListSerialization with the specified reading options.

    Declaration

    Swift

    public static func propertyListResponseSerializer(
    	options: PropertyListSerialization.ReadOptions = [])
    -> DataResponseSerializer<Any>

    Parameters

    options

    The property list reading options. Defaults to [].

    Return Value

    A property list object response serializer.

  • Adds a handler to be called once the request has finished.

    Declaration

    Swift

    @discardableResult
    public func responsePropertyList(
    	queue: DispatchQueue? = nil,
    	options: PropertyListSerialization.ReadOptions = [],
    	completionHandler: @escaping (DataResponse<Any>) -> Void)
    -> Self

    Parameters

    options

    The property list reading options. Defaults to [].

    completionHandler

    A closure to be executed once the request has finished.

    Return Value

    The request.