An object-oriented, URLSession-based network library.
Installation
Swift Package Manager
Add a Swift Package Dependency to your project with URL:
https://github.com/Ast3r10n/swiftquests
Cocoapods
Add SwiftQuests to your Podfile:
pod 'SwiftQuests'
Usage
A Request is a basic, standalone object, with a single associated task, configured through its initialiser.
Once initialised, a Request is (for the most part) immutable. Its task will only launch through the perform method call.
Basic Request
To perform a basic Request, initialise one:
do {
let request = try Request(.get,
atPath: "/user")
} catch {
// Error handling
}
You then call the perform method to launch its associated task.
do {
try request.perform { result in
// Response implementation
}
} catch {
// Error handling
}
Decodable object Request
Requests support automatic JSON decoding using Decodable objects
Here’s an example Request to get a DecodableUser object from the /user endpoint.
do {
try Request(.get,
atPath: "/user")
.perform(decoding: User.self) { result in
// Your completion handler here
}
} catch {
// Error handling
}
SwiftQuests
An object-oriented, URLSession-based network library.
Installation
Swift Package Manager
Add a Swift Package Dependency to your project with URL:
Cocoapods
Add
SwiftQuests
to your Podfile:Usage
A
Request
is a basic, standalone object, with a single associated task, configured through its initialiser. Once initialised, aRequest
is (for the most part) immutable. Its task will only launch through theperform
method call.Basic Request
To perform a basic
Request
, initialise one:You then call the
perform
method to launch its associated task.Decodable object Request
Request
s support automatic JSON decoding usingDecodable
objectsHere’s an example
Request
to get aDecodable
User
object from the/user
endpoint.