An HTTP client library for Swift built on Swift-NIO, featuring Codable support, circuit breaker integration, and multiple response types.
SwiftyRequest is an HTTP client library built for Swift, designed to simplify making network requests in server-side and application code. It provides a clean, type-safe API with built-in support for Codable decoding, circuit breaker patterns, and various authentication methods, reducing the boilerplate typically associated with HTTP networking.
Swift developers building server-side applications, macOS command-line tools, or Linux-based services who need a robust and modern HTTP client. It's particularly useful for projects within the Kitura ecosystem or those leveraging Swift-NIO.
Developers choose SwiftyRequest for its seamless integration with Swift's Codable protocol, built-in resilience features like circuit breaking, and its foundation on the high-performance Swift-NIO framework, offering a more Swift-native alternative to lower-level networking libraries.
SwiftyRequest is an HTTP networking library built for Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built-in support for the CircuitBreaker library enhances application resilience by preventing cascade failures during service outages, as detailed in the CircuitBreaker Integration section.
Directly maps HTTP responses to Swift Codable types, eliminating manual JSON parsing and reducing error-prone boilerplate code, shown in the responseObject method examples.
Leverages async-http-client built on Swift-NIO, providing high-performance, non-blocking I/O ideal for server-side Swift applications, as noted in the README's foundation on Swift-NIO.
Supports 2-way SSL with client certificates for secure authentication, a feature highlighted in the Client Certificate support section with examples for PEM format handling.
Migration from v2 to v3 involved significant API shifts, such as callback signature changes and deprecated parameters, which can complicate upgrades for existing users, as warned in the Migration section.
Heavily integrated with IBM's Kitura framework and CircuitBreaker library, making it less appealing for projects outside this ecosystem or those preferring vendor-neutral solutions.
Primary interface uses completion handlers instead of modern Swift concurrency like async/await, which might feel outdated compared to libraries adopting newer Swift features, despite being built on async-http-client.