TNRequest
public final class TNRequest : TNOperation
The core class of TermiNetwork. It handles the request creation as well as the request execution.
-
The configuration of the request. This will be merged with the environment configuration if needed.
Declaration
Swift
public var configuration: TNConfiguration
-
An associated object with the request. Use this variable to optionaly assign an object to it, for later use
Declaration
Swift
weak public var associatedObject: AnyObject?
-
Initializes a TNRequest.
Declaration
Swift
public init(method: TNMethod, url: String, headers: [String: String]? = nil, params: [String: Any?]? = nil, configuration: TNConfiguration? = nil)
Parameters
method
A TNMethod to use, for example: .get, .post, etc.
url
The URL of the request.
headers
A Dictionary of header values, etc. “Content-type”: “text/html”
params
The parameters of the request. (optional)
configuration
A configuration object (optional, e.g. if you want ot use custom configuration for the request).
-
Initializes a TNRequest.
Declaration
Swift
public convenience init(route: TNRouteProtocol, environment: TNEnvironment? = TNEnvironment.current)
Parameters
route
a TNRouteProtocol enum value
environment
Specifies a different environment to use than the global setted environment.
-
Converts a TNRequest instance an URLRequest instance.
Declaration
Swift
public func asRequest() throws -> URLRequest
-
Cancels a request
Declaration
Swift
public override func cancel()
-
Overrides the start() function from Operation class. You should never call this function directly. If you want to start a request without callbacks use startEmpty() instead.
Declaration
Swift
public override func start()
-
Starts a request without callbacks.
Declaration
Swift
public func startEmpty(_ queue: TNQueue? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
-
Adds a request to a queue and starts a download process for Decodable types.
Declaration
Swift
@discardableResult public func start<T: Decodable>(queue: TNQueue? = TNQueue.shared, responseType: T.Type, onSuccess: TNSuccessCallback<T>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
responseType
The type of the model that will be deserialized and will be passed to the success block.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Adds a request to a queue and starts its execution for Transformer types.
Declaration
Swift
@discardableResult public func start<FromType: Decodable, ToType>(queue: TNQueue? = TNQueue.shared, transformer: TNTransformer<FromType, ToType>.Type, onSuccess: TNSuccessCallback<ToType>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
transformer
The transformer object that handles the transformation.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Adds a request to a queue and starts its execution for UIImage|NSImage responses.
Declaration
Swift
@discardableResult public func start<T: TNImageType>(queue: TNQueue? = TNQueue.shared, responseType: T.Type, onSuccess: TNSuccessCallback<T>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
responseType
The response type is UIImage.self or NSImage.self.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Adds a request to a queue and starts its execution for String responses.
Declaration
Swift
@discardableResult public func start(queue: TNQueue? = TNQueue.shared, responseType: String.Type, onSuccess: TNSuccessCallback<String>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
responseType
The response type is String.self.
onSuccess
specifies a success callback of type TNSuccessCallback
onFailure
specifies a failure callback of type TNFailureCallback
-
Adds a request to a queue and starts its execution for Data responses.
Declaration
Swift
@discardableResult public func start(queue: TNQueue? = TNQueue.shared, responseType: Data.Type, onSuccess: TNSuccessCallback<Data>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
responseType
The response type is Data.self.
onSuccess
specifies a success callback of type TNSuccessCallback
onFailure
specifies a failure callback of type TNFailureCallback
-
Adds a request to a queue and starts an upload process for Decodable types.
Declaration
Swift
@discardableResult public func startUpload<T: Decodable>(queue: TNQueue? = TNQueue.shared, responseType: T.Type, progressUpdate: TNProgressCallbackType?, onSuccess: TNSuccessCallback<T>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
responseType
The type of the model that will be deserialized and will be passed to the success block.
progress
specifies a progress callback to get upload progress updates.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Adds a request to a queue and starts its execution for Transformer types.
Declaration
Swift
@discardableResult public func startUpload<FromType: Decodable, ToType>(queue: TNQueue? = TNQueue.shared, transformer: TNTransformer<FromType, ToType>.Type, progressUpdate: TNProgressCallbackType?, onSuccess: TNSuccessCallback<ToType>?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
transformer
The transformer object that handles the transformation.
progress
specifies a progress callback to get upload progress updates.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Adds a request to a queue and starts its execution for String types.
Declaration
Swift
@discardableResult public func startDownload(queue: TNQueue? = TNQueue.shared, filePath: String, progressUpdate: TNProgressCallbackType?, onSuccess: TNDownloadSuccessCallback?, onFailure: TNFailureCallback? = nil) -> TNRequest
Parameters
queue
A TNQueue instance. If no queue is specified it uses the default one.
filePath
The destination file path to save the file.
responseType
The type of the model that will be deserialized and will be passed to the success block.
progress
specifies a progress callback to get upload progress updates.
onSuccess
specifies a success callback of type TNSuccessCallback
. onFailure
specifies a failure callback of type TNFailureCallback
. Return Value
The TNRequest object.
-
Reads the response headers from request after its completion.
Declaration
Swift
func responseHeaders(_ headersCallback: @escaping ([String : String]?, TNError?) -> Void)
Parameters
headersCallback
A closure that provides the response headers or an error.