SentryHttpClient constructor
SentryHttpClient({
- Client? client,
- Hub? hub,
- bool recordBreadcrumbs = true,
- MaxRequestBodySize maxRequestBodySize = MaxRequestBodySize.never,
- List<
SentryStatusCode> failedRequestStatusCodes = const [], - bool captureFailedRequests = false,
- bool sendDefaultPii = false,
- bool networkTracing = false,
Implementation
SentryHttpClient({
Client? client,
Hub? hub,
bool recordBreadcrumbs = true,
MaxRequestBodySize maxRequestBodySize = MaxRequestBodySize.never,
List<SentryStatusCode> failedRequestStatusCodes = const [],
bool captureFailedRequests = false,
bool sendDefaultPii = false,
bool networkTracing = false,
}) {
_hub = hub ?? HubAdapter();
var innerClient = client ?? Client();
innerClient = FailedRequestClient(
failedRequestStatusCodes: failedRequestStatusCodes,
captureFailedRequests: captureFailedRequests,
maxRequestBodySize: maxRequestBodySize,
sendDefaultPii: sendDefaultPii,
hub: _hub,
client: innerClient,
);
if (networkTracing) {
innerClient = TracingClient(client: innerClient, hub: _hub);
_hub.options.sdk.addIntegration('HTTPNetworkTracing');
}
// The ordering here matters.
// We don't want to include the breadcrumbs for the current request
// when capturing it as a failed request.
// However it still should be added for following events.
if (recordBreadcrumbs) {
innerClient = BreadcrumbClient(client: innerClient, hub: _hub);
}
_client = innerClient;
}