Cauli

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

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.