Response tools

After a request completes, Tiger's response panel shows the status, timing, size and body in one opaque, readable surface. The frosted chrome stays decorative while the body area uses a more solid background so text is easy to scan.

The response header bar

A narrow strip at the top of the panel summarises everything you need to triage a response at a glance, without opening a sub-panel or inspecting raw text.

Status pill

The status code and reason phrase appear in a coloured pill. Responses in the 2xx range are rendered with a success colour; everything else - client errors, server errors, redirects that were followed but produced a final non-2xx code - is rendered with an error colour. The pill maps directly to the ok flag computed in src/core/response.ts (status >= 200 && status < 300).

Timing chip

The total round-trip time is shown in milliseconds next to the status pill. Hover the chip to expand a breakdown card with every phase that was measured:

Phase What it measures When present
DNS lookup Name resolution for the hostname Node send path only (client certificate requests)
TCP connect Time to establish the TCP connection Node send path only
TLS handshake Time to complete TLS negotiation Node send path, HTTPS only
Waiting (TTFB) Time from request sent until the first response byte arrives Always
Download Time to transfer the response body Always
Total Full elapsed time from send to last byte Always

DNS, TCP and TLS phases are populated only when Tiger routes the request through the Node HTTP stack, which happens when client certificates (mTLS) are configured for the collection. On the standard Electron fetch path those phases are not exposed by the browser engine and are omitted from the hover card rather than shown as zero.

Size chip

The body size is shown in human-readable units: bytes up to 1 KB, then KB or MB. The figure is the byte length of the response body as received after decoding - computed with TextEncoder to get an accurate UTF-8 byte count rather than a character count.

Body tab

The Body tab is selected by default. It renders the response body in one of four modes depending on the Content-Type and user controls.

JSON mode

When Tiger can parse the body as JSON it pretty-prints it with two-space indentation and applies syntax highlighting via the JsonView component. A Pretty / Raw toggle in the header bar lets you switch between the formatted view and the original bytes. Pretty mode is the default.

i

For very large responses (above approximately 2 MB) Tiger skips JSON parsing and highlighting and shows the raw text instead. A "Large response · raw" chip appears in the header bar to explain why the Pretty toggle is absent. This threshold prevents the UI from stalling on multi-megabyte payloads.

HTML preview

When the Content-Type is text/html, the body tab offers a Preview / Raw toggle. In Preview mode the HTML is rendered inside a sandboxed <iframe> with no permissions granted - scripts, forms, popups and same-origin access are all blocked. This lets you inspect templated pages and email HTML without executing anything. Switch to Raw to see the markup as plain text.

Image preview

When the response Content-Type starts with image/, Tiger displays the image inline in the body area. The transport layer encodes the binary body as base64 and passes it to the renderer as a data URL; Tiger constructs the src as data:<content-type>;base64,<bytes>. A Preview / Raw toggle lets you see the raw base64 string if needed. Preview is the default.

Plain text and XML

Bodies that are not JSON, HTML or an image type are shown verbatim in a monospace pre-formatted block. Word wrap is off by default; toggle it with the wrap icon button in the header bar.

In-response search

Press Cmd+F (macOS) or Ctrl+F (Windows / Linux) while a response is on screen to open the search bar. You can also click the magnifying-glass icon in the header bar. Tiger runs the search over the text that is currently visible - the pretty-printed JSON in Pretty mode, or the raw bytes in Raw mode.

How the search works:

Opening Cmd/Ctrl+F while on the Headers or Cookies tab automatically switches to the Body tab so the search bar always applies to the body text.

Headers tab

The Headers tab lists every response header as a name: value pair. Header names are displayed in their original casing as returned by the server. The tab label includes the header count, for example Headers (12).

Cookies tab

Any Set-Cookie headers in the response are parsed and shown on the Cookies tab: the cookie name and value, followed by the raw attribute string (Path, Expires, HttpOnly, etc.) in a dimmed colour. The tab label shows the cookie count.

Cookies that arrive in a response are automatically persisted to Tiger's cookie jar and sent on subsequent requests to the same origin, provided the cookie jar is enabled for the collection.

Tests tab

When the request has a post-request script that calls test(), a Tests tab appears alongside Body, Headers and Cookies. The label shows the pass/fail ratio - for example Tests (3/4). Each row carries a PASS or FAIL badge, the test name, and any error message from a failing assertion.

Script console.log() output appears below the test list in a dimmed log block. See Scripts and tests for how to write assertions.

Toolbar actions

The icon buttons on the right side of the header bar are always visible regardless of which tab is active:

Empty and error states

Before any request is sent the panel shows a neutral placeholder. While a request is in flight a "Sending…" status pill appears. If the request fails at the network level - a DNS failure, a connection refusal, a timeout - the panel shows a "Request failed" pill and the underlying error message in monospace text. HTTP error responses (4xx, 5xx) are not network failures: they are displayed normally with a red status pill.

Large response behaviour

Tiger applies a 2 MB threshold to JSON pretty-printing and syntax highlighting. Above that threshold:

This design keeps Tiger responsive when an API returns a large paginated dump or a diagnostic payload that would otherwise freeze a syntax highlighter.

Related pages

Scripts and tests
Write pre/post-request scripts and assertions that appear in the Tests tab.
Requests and auth
Configure the request that produces the response.
Variables and environments
Use response captures to feed values from one response into the next request.
Collection runner
Run a whole folder and see live pass/fail verdicts across every response.