Skip to main content

HTTP errors

The HTTP error detector files a report when the app receives a server error, so backend regressions show up in Bugsee without anyone filing a bug. The report carries the video, logs and network events recorded up to that moment, like a report filed from code.

HTTP error detection is off by default.

Option keyBugseeOptionDetectAndReportHttpErrors
BugseeOptions property— (set by key)
DefaultNO
BugseeOptions *options = [BugseeOptions defaultOptions];
[options updateLaunchOptions:@{
BugseeOptionDetectAndReportHttpErrors : @YES,
}];

[Bugsee launchWithToken:@"<your_app_token>" options:options];

What gets flagged​

Only responses with a 5xx status (500–599). Client errors (4xx) are ignored: they usually reflect normal operation — authentication, validation, a missing resource — and would drown the real problems. Requests that fail without an HTTP response (a timeout, no connection) are ignored too.

The detector observes the requests Bugsee intercepts. It reads only the method, the URL and the status code, never headers or bodies, and it works whether or not network capture is on.

Deduplication​

Each combination of method, URL and status code is reported once per session: retries and polling of a failing endpoint file one report, not one per request. The URL is normalized first (see below), so requests that differ only in their query string count as one. Stopping Bugsee starts a new session.

URL normalization​

The query string and the fragment are always removed from the URL before it is used for deduplication, grouping or the report.

When your app has a network filter set — setNetworkEventFilter: or the bugseeFilterNetworkEvent:completionHandler: delegate method, which tells Bugsee that your request data is sensitive — the detector also:

  • drops the user name and password from the URL;
  • replaces path segments that look like identifiers with a placeholder:
SegmentPlaceholder
An email address{email}
Digits only{id}
A UUID{uuid}
16 or more hexadecimal characters{hex}
24 or more URL-safe characters, at least one of them a digit{token}

Your network filter itself is not applied to these reports: the detector does its own redaction. See Network privacy.

The report​

FieldValue
TypeError (non-fatal)
SeverityHigh
SummaryHTTP 503 Service Unavailable: the status code and its standard reason phrase, or the code alone for a non-standard one
DomainHttpError::Server
Attributeshttp_status_code, http_method, http_url (normalized), http_status_text

The issue is grouped by method, normalized URL and status code. The reason phrase is generated from the status code, in English, since iOS does not expose the one the server sent.

On the simulator and Mac Catalyst, HTTP error reports are not filed.

Found an issue, typo, or wrong statement on this page? Report it now →