Skip to content
/ Flash Public

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

License

nixzhu/Flash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages