Cauli is a network debugging framework featuring a plugin infrastructure to hook into selected request and responses as well as recording and displaying performed requests. It provides a wide range of possibilities. For example from inspecting network traffic to mock UnitTests. Missing something fancy? How about writing your own Plugin.
Features
🌏 Hooks into the URL Loading System
🧩 Existing set of Plugins (Florets)
🔧 Extensible Plugin Infrastructure
Documentation
- Architecture
- Configuring Cauli
- Plugins / Florets
- Writing Your Own Plugin / Floret
- Frequently Asked Questions
Getting Started
Installation
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, add the following to your Package.swift
file.
dependencies: [
.package(url: "https://github.com/cauliframework/cauli.git", from: "1.1")
]
Setup
Add an import Cauliframework
to your AppDelegate
and call the run
function on the shared instace in the application(:, didFinishLaunchingWithOptions:)
. Make sure to call run
before instantiating any URLSession
. Otherwise Cauli can’t intercept network requests and create any records.
import Cauliframework
public class AppDelegate: UIApplicationDelegate {
public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Cauli.shared.run()
// perform your usual application setup
return true
}
}
This will configure Cauli to hook into every request, setup the core florets (plugins) (InspectorFloret) and configures a shake gesture for the Cauli UI.
Contributing
Please read CONTRIBUTING for details.
License
Cauli is available under the MIT license.