GitHunt
NI

nixzhu/Flash

A modern, Swift-native HTTP client library with middleware support and built-in retry mechanisms.


Flash

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.

Features

  • ๐Ÿš€ Modern Swift: Built with async/await and Sendable support
  • ๐Ÿ”ง 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

Installation

Swift Package Manager

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")

Languages

Swift100.0%

Contributors

MIT License
Created June 25, 2025
Updated July 4, 2025