An object-oriented, URLSession-based network library.
Add a Swift Package Dependency to your project with URL:
https://github.com/Ast3r10n/swiftquests
Add SwiftQuests
to your Podfile:
pod 'SwiftQuests'
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.
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
}
Request
s support automatic JSON decoding using Decodable
objects
Here's an example Request
to get a Decodable
User
object from the /user
endpoint.
do {
try Request(.get,
atPath: "/user")
.perform(decoding: User.self) { result in
// Your completion handler here
}
} catch {
// Error handling
}