SentryHttpClient constructor

SentryHttpClient({
  1. Client? client,
  2. Hub? hub,
  3. bool recordBreadcrumbs = true,
  4. MaxRequestBodySize maxRequestBodySize = MaxRequestBodySize.never,
  5. List<SentryStatusCode> failedRequestStatusCodes = const [],
  6. bool captureFailedRequests = false,
  7. bool sendDefaultPii = false,
  8. 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;
}