예제 #1
0
        /// <summary>
        /// 获取账户信息
        /// </summary>
        /// <returns></returns>
        public async Task <string> GetAccountInfo()
        {
            logger.LogDebug($"请求用户信息...");

            var currentToken = await this.hackSystemAuthenticationStateHandler.GetCurrentTokenAsync();

            httpClient.AddAuthorizationHeader(currentToken);
            var response = await httpClient.GetAsync("api/accounts/GetAccountInfo");

            if (!response.IsSuccessStatusCode)
            {
                return($"{(int)response.StatusCode} - {response.StatusCode}");
            }

            var accountInfo = await response.Content.ReadAsStringAsync();

            return(accountInfo);
        }
예제 #2
0
        public SubmissionResponse PostEvents(IEnumerable <Event> events, ExceptionlessConfiguration config, IJsonSerializer serializer)
        {
            if (!config.IsValid)
            {
                return(new SubmissionResponse(500, message: "Invalid client configuration settings"));
            }

            string data = serializer.Serialize(events);
            string url  = String.Format("{0}/events", GetServiceEndPoint(config));

            HttpResponseMessage response;

            try {
                HttpContent content = new StringContent(data, Encoding.UTF8, "application/json");

                // don't compress data smaller than 4kb
                if (data.Length > 1024 * 4)
                {
                    content = new GzipContent(content);
                }

                _client.AddAuthorizationHeader(config.ApiKey);
                response = _client.PostAsync(url, content).ConfigureAwait(false).GetAwaiter().GetResult();
            } catch (Exception ex) {
                return(new SubmissionResponse(500, message: ex.Message));
            }

            int settingsVersion;

            if (Int32.TryParse(GetSettingsVersionHeader(response.Headers), out settingsVersion))
            {
                SettingsManager.CheckVersion(settingsVersion, config);
            }

            return(new SubmissionResponse((int)response.StatusCode, GetResponseMessage(response)));
        }