HarborClient console showing a live Server-Sent Events stream with cyan telemetry markers

HarborClient can open Server-Sent Events (SSE) streams from the same request editor you already use for HTTP. Pick SSE in the method menu, point at a text/event-stream endpoint, and hit Connect. Events show up live in the response panel instead of waiting for a single buffered body.

If you debug AI token streams, notification feeds, or any endpoint that pushes events over HTTP, you no longer need a separate client just to watch the wire.

How to connect

SSE is a transport option next to the usual HTTP methods:

  1. Open a request (or create a new one).
  2. Open the method dropdown and choose SSE. The control switches from an HTTP verb to the SSE protocol.
  3. Enter the stream URL. Query params, headers, collection/folder auth, cookies, proxy, and TLS settings apply the same way they do for a normal send.
  4. Click Connect (or press Enter in the URL field). The button becomes Disconnect while the session is active.
HarborClient request editor with SSE selected for echo.harborclient.com/sse, an active Disconnect button, and the Events table listing echo stream messages
An open SSE session: method set to SSE, Connect replaced by Disconnect, and parsed events in the response panel.

The request body editor is hidden for SSE—streams are opened with a GET-style handshake that sets Accept: text/event-stream. Scripts still run around the open; the live session then stays open until you disconnect or the server closes the stream.

Inspecting the stream

While connected, the response area shows an SSE summary instead of a one-shot status line: connection state (Connecting, Connected, Reconnecting, Closed, Error), event counts, and actions to clear retained events or disconnect.

HarborClient SSE Events panel showing Reconnecting status, six echo events with JSON payloads, event filter controls, and Clear and Disconnect buttons
The Events inspector: filterable event rows, reconnect status in the summary, and Clear or Disconnect when you need them.

Two viewer tabs are built for streams:

  • Events — a filterable, auto-scrolling table of parsed events (type, id, data). Select a row for a detail pane. Pause auto-scroll when you need to read without the feed jumping.
  • Raw — the wire text for the retained events when you want the unparsed stream.

Compare events in the detail modal

Select any row in the Events table to open a detail modal with the event sequence, type, id, received time, and payload. The Data tab formats JSON payloads for easier reading, while Raw keeps the original SSE text available when you need to inspect exactly what arrived.

HarborClient SSE event detail modal showing event metadata and a formatted JSON Data tab.
The detail modal shows event metadata plus formatted Data and Raw payload views.

The modal also includes Previous Diff and Next Diff controls for comparing neighboring events side by side. Diff mode uses a resizable split view, so you can drag the divider between the two payloads, step through adjacent events with the Diff buttons, or use Previous and Next to navigate back to the single-event view. For larger payloads, the expand control grows the modal to a 90% viewport view so the diff editors have more room.

HarborClient SSE event detail modal showing a side-by-side diff between neighboring event payloads.
Use Previous Diff or Next Diff to compare neighboring event payloads in a resizable split view.

HarborClient keeps up to 2,000 events per session in the UI. Older events drop off the retained list when that cap is hit; a dropped count in the summary tells you how many were discarded so you can clear and keep watching.

Reconnect and Last-Event-ID

SSE sessions reconnect by default when the connection drops unexpectedly. HarborClient honors the stream’s retry: field (capped) and uses linear backoff between attempts. When the stream sends event ids, the next connect includes Last-Event-ID so servers that support it can resume.

Click Disconnect any time to abort the session cleanly from the client side.

Library API

The same session model is available in @harborclient/http via openSession when you want SSE outside the desktop app:

const session = await requester.openSession(
  {
    protocol: 'sse',
    url: 'https://example.com/events',
    headers: [],
    params: []
  },
  {
    onOpen(info) {
      console.log('connected', info.status);
    },
    onEvent(event) {
      console.log(event.type, event.data);
    },
    onReconnecting(afterMs, attempt) {
      console.log('reconnect', attempt, afterMs);
    },
    onClose(info) {
      console.log('closed', info.reason);
    }
  }
);

// Later:
session.close();

What is next

SSE is the first long-lived network session in HarborClient. WebSocket clients are on the roadmap and are planned to share the same session transport model.

Grab the latest build from harborclient.com or GitHub Releases, open a request, switch the method menu to SSE, and connect to a stream.

Leave a Reply

Trending

Discover more from HarborClient Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading