跳到主要内容

Response Viewer

After sending a request, the response panel appears in the Response tab on the right side of the request editor. It provides tools for inspecting every aspect of the server's response. Use the response-panel toggle in the editor header to show or hide it.

When the imported specification describes the returned status, a small dot next to the Response tab title shows the conformance result — green (the body conforms), red (violations), grey (the specification defines no schema for that status). Hover the dot for details.

:::info Screenshot needed — light/dark 📸 response-viewer-light.png and response-viewer-dark.png — the response panel showing status code tag, elapsed time, headers, and formatted JSON body :::

Status Bar​

The top-right of the editor header shows the key response metadata at a glance:

ElementDescription
StatusHTTP status code with color coding: green (2xx success), yellow (3xx redirect), red (4xx client error, 5xx server error). The tooltip shows the error message on failure.
Elapsed TimeTotal request duration in milliseconds. Click it to open the timing breakdown popup (only enabled when timing data is available).

Send failure (transport errors)​

When a request does not complete — a simulated reply truncated mid-body, a dropped connection, a timeout — an Error tab appears next to the Response tab with the transport's explanation (for example "The response ended prematurely"). The editor switches to it automatically, and the tab disappears again once a later send completes. If some of the reply made it through before the connection was cut (a truncated body), the Response tab shows that partial body alongside the Error tab. Both tabs are hidden when they have nothing to show: Response stays hidden until a reply arrives, Error until a send fails — and switching to another service clears both, so a fresh operation starts with the request editor taking the full width. Switching back to a service shows the same clean state: a service's last send outcome (failure explanation and spec conformance) is not persisted per service, only its saved request rows are. A configured functional error (a mocked 404/500 reply) is a complete response, not a send failure: its body renders in the Response tab and the Error tab does not appear.

Timing Breakdown Popup​

Click the elapsed time to see a detailed breakdown:

MetricDescription
Preparation TimeClient-side time spent serializing and preparing the request
Time to First Byte (TTFB)Time from request sent to first response byte received
Receive TimeTime to receive the full response body
Total TimeEnd-to-end duration of the request

The popup renders each segment as a proportional bar so you can see where the time was spent.

:::info Screenshot needed — light/dark 📸 timing-breakdown-light.png and timing-breakdown-dark.png — the timing breakdown popup showing Preparation, TTFB, Receive, and Total :::

Response Headers​

The headers section is collapsible and shows all response headers in a key-value list. Common headers (Content-Type, Content-Length, Cache-Control, etc.) are listed first.

Headers can be copied individually or as a complete set.

Response Body​

The body area is a read-only, syntax-highlighted text editor that adapts its display to the response content type.

Syntax Highlighting​

Raw text view with syntax highlighting for:

  • JSON (application/json)
  • XML (application/xml, text/xml)
  • HTML (text/html)
  • Plain text (text/plain)

Formatting​

Right-click the body and choose Format response body to re-indent and pretty-print the current content for easier reading. This is a display-only transformation and does not change the stored response.

  • The formatted text is persisted — it survives re-rendering of the response panel (e.g. when the body is refreshed), so your formatting is kept rather than reverted to the raw response.
  • Formatting shows a success notification ("Formatted — Response body has been pretty-printed.") or a failure notification with the reason when the body cannot be formatted.
  • Auto-format responses — a context-menu option (visible for JSON/XML content types) that automatically pretty-prints every new response as soon as it arrives. Toggle it from the body's context menu; the enabled state is persisted across sessions.

View Mode​

The response view follows the editor's View Mode selector (Dual / Tree / Text / Http). For HTTP-based services, the Tree portion renders a hierarchical view of JSON and XML responses; the Text portion shows the raw bytes.

Context Menu Operations​

Right-click anywhere in the response body to access:

Menu ItemAvailable WhenAction
Format response bodyAlwaysPretty-print the body. Shows a success/failure notification.
Auto-format responsesJSON/XML responsesToggles automatic pretty-printing of every new response.
Show XPathXML responsesOpens a dialog showing the XPath to the caret location.
Copy XPath to ClipboardXML responsesCopies the XPath expression to the clipboard.
Show JsonPathJSON responsesOpens a dialog showing the JsonPath to the caret location.
Copy JsonPath to ClipboardJSON responsesCopies the JsonPath expression to the clipboard.
Add XPath AssertionXML responses, automation mode onlyCreates an XPath assertion for the caret location.
Add JsonPath AssertionJSON responses, automation mode onlyCreates a JsonPath assertion for the caret location.

The XPath/JsonPath items are hidden automatically when the response is not of the matching type, and the assertion items are only shown while editing an automation test step.

Large Responses​

For large response bodies, Aethrix truncates the display and shows a warning. You can adjust the maximum message size in Settings → General → Max Message Size.

Response Size Limits​

By default, Aethrix limits response sizes to prevent excessive memory usage. Configure these limits in Settings:

  • Max Received Message Size — maximum size of a single response body (in bytes)
  • Messages History Length — maximum number of responses kept in history

See Also​