private void SendAttributionRequestI() { if (_paused) { _logger.Debug("Attribution handler is paused"); return; } if (_activityHandler.IsGdprForgotten()) { _logger.Debug("Attribution request won't be fired for forgotten user"); return; } _logger.Verbose("{0}", _attributionPackage.GetExtendedString()); try { ResponseData responseData; using (var httpResponseMessage = Util.SendGetRequest(_attributionPackage, _basePath, _urlQuery)) { responseData = Util.ProcessResponse(httpResponseMessage, _attributionPackage); } // check if any package response contains information that user has opted out // if yes, disable SDK and flush any potentially stored packages that happened afterwards if (responseData.TrackingState == TrackingState.OPTED_OUT) { _activityHandler.SetTrackingStateOptedOut(); return; } if (responseData is AttributionResponseData) { CheckAttributionResponseI(responseData as AttributionResponseData); } } catch (Exception ex) { _logger.Error("Failed to get attribution ({0})", Util.ExtractExceptionMessage(ex)); } }