A modern, Swift-native HTTP client library with middleware support and built-in retry mechanisms. Flash provides a clean, async/await-based API for making HTTP requests with powerful customization options.
- 🚀 Modern Swift: Built with async/await and
Sendablesupport - 🔧 Middleware System: Intercept and modify requests/responses with custom middleware
- 🔄 Retry Policies: Built-in support for fixed delay and exponential backoff retry strategies
- 📝 Type-Safe: Strongly-typed request builders with compile-time safety
- 🎯 Lightweight: Minimal dependencies, built on top of
URLSession - 🔍 Flexible: Support for GET, POST, PUT, PATCH and DELETE requests with JSON body handling
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swiftcompiler.
Once your Swift package is set up, add Flash as a dependency to the dependencies value in your Package.swift file or to the package list in Xcode.
dependencies: [
.package(url: "https://github.com/nixzhu/Flash.git", from: "0.3.0"),
]Typically, you will want to depend on the Flash target:
.product(name: "Flash", package: "Flash")