Exemple #1
0
        public LaserCatEyesDataService(IOptions <LaserCatEyesOptions> laserCatEyesOptions, IOptions <LaserCatEyesSystemOptions> laserCatEyesSystemOptions)
        {
            _laserCatEyesOptions       = laserCatEyesOptions.Value;
            _laserCatEyesSystemOptions = laserCatEyesSystemOptions.Value;

            if (string.IsNullOrEmpty(_laserCatEyesOptions.AppKey))
            {
                throw new Exception("LaserCatEyes AppKey can not be null!");
            }

            var deviceName = $"{Environment.MachineName}:{Environment.UserName}";

            if (_laserCatEyesOptions.DeviceUuid == null)
            {
                _laserCatEyesOptions.DeviceUuid = Utilities.ToGuid(deviceName);
            }

            var subApp = new SubAppUpdate
            {
                Device = new Device
                {
                    Name             = deviceName,
                    OSVersion        = Environment.OSVersion.Version.ToString(),
                    OperatingSystem  = Environment.OSVersion.VersionString.Replace(Environment.OSVersion.Version.ToString(), ""),
                    UUID             = _laserCatEyesOptions.DeviceUuid.ToString(),
                    UserFriendlyName = _laserCatEyesOptions.DeviceUserFriendlyName
                },
                OperatingSystem = Environment.OSVersion.VersionString.Replace(Environment.OSVersion.Version.ToString(), ""),
                Name            = _laserCatEyesOptions.AppName ?? "Unknown",
                Environment     = _laserCatEyesOptions.AspCoreEnvironment,
                Version         = _laserCatEyesOptions.Version,
                BuildNumber     = _laserCatEyesOptions.BuildNumber
            };

            _client.BaseAddress = new Uri(_laserCatEyesSystemOptions.BaseAddress);
            _client.DefaultRequestHeaders.Add(Constants.Headers.AlgoronaClientId, _laserCatEyesSystemOptions.AlgoronaClientId);
            _client.DefaultRequestHeaders.Add(Constants.Headers.AlgoronaCulture, _laserCatEyesSystemOptions.AlgoronaCulture);
            _client.DefaultRequestHeaders.Add(Constants.Headers.AlgoronaDeviceUuid, _laserCatEyesOptions.DeviceUuid.ToString());
            _client.DefaultRequestHeaders.Add(Constants.Headers.AlgoronaAppKey, _laserCatEyesOptions.AppKey);

            var httpResponseMessage = Init(subApp).Result;

            _deviceId = httpResponseMessage.Content.ReadAsAsync <SubAppUpdateResponseModel>().Result.DeviceId;

            _client.DefaultRequestHeaders.Add(Constants.Headers.AlgoronaDeviceId, _deviceId.ToString());
        }
Exemple #2
0
 public static IServiceCollection AddLaserCatEyesHttpClientListener(this IServiceCollection services, LaserCatEyesOptions options, bool listenAllHttpClients = true)
 {
     services.TryAddSingleton(options);
     return(AddLaserCatEyesHttpClientListenerBase(services, listenAllHttpClients));
 }