Example #1
0
 public static async Task <HttpResponseMessage> PostAsync(
     this ReportPackage package)
 {
     return(await LiteClient.PostAsync(new Uri(Config.Global.ReportUrl + "/report?".GlueGetList(new Dictionary <string, object>()
     {
         {
             "deviceid",
             (object)Critical.GetDeviceId()
         },
         {
             "uuid",
             (object)Critical.GetUuid()
         }
     }, false) + package.UrlParameters), (Stream) new MemoryStream(package.GetRawStream().ToArray())));
 }
Example #2
0
        private static async Task <StartupResponse> GetStartupAsync()
        {
            try
            {
                Uri    baseUri = new Uri(Config.Global.CustomStartupUrl ?? "https://startup.mobile.yandex.net/");
                string str1    = "analytics/startup?query_hosts=1&".GlueGetList(await ServiceData.GetStartupParameters(), true);
                if (Critical.GetUuid() != null)
                {
                    str1 = str1 + "&uuid=" + Critical.GetUuid();
                }
                Uri        requestUri = new Uri(baseUri, str1 + "&deviceid=" + Critical.GetDeviceId());
                HttpClient httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.Add("user-agent", ServiceData.UserAgent);
                httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
                using (HttpResponseMessage response = await httpClient.GetAsync(requestUri, CancellationToken.None))
                {
                    if (!response.IsSuccessStatusCode)
                    {
                        string str2 = await response.Content.ReadAsStringAsync();

                        return((StartupResponse)null);
                    }
                    using (Stream stream = await response.Content.ReadAsStreamAsync())
                    {
                        StartupResponse startupResponse1 = stream == null ? (StartupResponse)null : new DataContractJsonSerializer(typeof(StartupResponse)).ReadObject(stream) as StartupResponse;
                        if (startupResponse1 == null)
                        {
                            return((StartupResponse)null);
                        }
                        StartupResponse startupResponse2 = startupResponse1;
                        DateTimeOffset? date             = response.Headers.Date;
                        DateTimeOffset? local            = date;
                        DateTime        dateTime         = local.HasValue ? local.GetValueOrDefault().DateTime : DateTime.UtcNow;
                        startupResponse2.ServerDateTime   = dateTime;
                        startupResponse1.ServerTimeOffset = startupResponse1.ServerDateTime.ToUniversalTime() - DateTime.UtcNow;
                        return(startupResponse1);
                    }
                }
            }
            catch (Exception)
            {
                return((StartupResponse)null);
            }
        }