Network Inspector

AndroidiOSDesktop

The Network Inspector captures all outgoing HTTP requests from your app in real time. View HTTP method, URL, headers, request/response body, status code, response time, and timestamp -- all without modifying your backend.

Features

  • Real-time capture of all HTTP traffic
  • Full request and response details (headers, body, status)
  • Response time measurement
  • HTTP mocking for testing

HTTP Mocking

Snapbug lets you mock HTTP responses directly from the Desktop app, without touching your backend or writing test code.

Use cases:

  • Simulate errors -- test how your app handles 500s, timeouts, or malformed responses
  • Create test data -- return custom JSON payloads for specific endpoints
  • Mock from existing requests -- duplicate a captured request and modify its response
  • Reduce dependencies -- develop features before the backend is ready
info

Mocks are applied on the device side via the interceptor. No proxy or server changes are needed.

Setup

Choose the interceptor that matches your HTTP client.

Add the dependency

dependencies {
    debugImplementation("ai.snapbug:snapbug-okhttp-interceptor:1.0.0")
    releaseImplementation("ai.snapbug:snapbug-okhttp-interceptor-no-op:1.0.0")
}

Or with version catalog:

[libraries]
snapbug-okhttp = { module = "ai.snapbug:snapbug-okhttp-interceptor", version.ref = "snapbug" }
snapbug-okhttp-no-op = { module = "ai.snapbug:snapbug-okhttp-interceptor-no-op", version.ref = "snapbug" }

Add the interceptor

val client = OkHttpClient.Builder()
    .addInterceptor(SnapbugOkhttpInterceptor())
    .build()
warning

Always use the -no-op variant for release builds to ensure zero overhead in production.