Ejemplo n.º 1
0
        public async Task <IActionResult> About()
        {
            await WriteOutIdentityInformation();

            var serviceDocEndpoint = await _httpClientProvider.GetServiceDocumentEndPoint();

            var sdcontent = await serviceDocEndpoint.GetStringAsync("");

            // get the saved identity token
            ViewData["IdentityToken"] = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.IdToken);

            //get the saved access token

            ViewData["AccessToken"] = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);

            var RefreshToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.RefreshToken);

            var expires_at = await HttpContext.GetTokenAsync("expires_at");

            @ViewData["Expiration"] = DateTime.Parse(expires_at).AddSeconds(-60).ToUniversalTime();
            @ViewData["UTC"]        = DateTime.UtcNow;

            //
            var httpClient = await _httpClientProvider.GetClient(_apiClientOption.ApiClientBaseAddress);

            var content = await httpClient.GetStringAsync("values\\Welcome");

            ViewData["Content"] = content;
            return(View());
        }
Ejemplo n.º 2
0
        private async Task <Schedule> GetAsync(DateTime startingDate)
        {
            var reservationResponse = await _httpClientProvider
                                      .GetClient(_settings.BaseUrl)
                                      .ToBase64(_settings.Username, _settings.Password)
                                      .GetStringAsync(string.Concat(_settings.GetRequestPath, startingDate.ToString("yyyyMMdd")));

            if (string.IsNullOrEmpty(reservationResponse))
            {
                return(new Schedule());
            }

            return(JsonConvert.DeserializeObject <Schedule>(reservationResponse));
        }
Ejemplo n.º 3
0
        public async Task <XOFFOperationResult> Delete(ChangeQueueItem queueItem)
        {
            try
            {
                var client = _httpClientProvider.GetClient();

                var endPoint = string.Format(_endPointFormatString, queueItem.ChangedItemId);
                var response = await client.DeleteAsync(endPoint);

                if (response.IsSuccessStatusCode)
                {
                    return(XOFFOperationResult.CreateSuccessResult($"Successfully Deleted item {queueItem.ChangedItemId}"));
                }
                else
                {
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityDeleteHandler<{typeof(TModel).FullName}>", $"Creation Failed for type{typeof(TModel).FullName}");
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityDeleteHandler<{typeof(TModel).FullName}>", response.Content.ReadAsStringAsync().Result);
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityDeleteHandler<{typeof(TModel).FullName}>", response.RequestMessage.ToString());
                    return(XOFFOperationResult.CreateFailure(response.ReasonPhrase));
                }
            }
            catch (Exception ex)
            {
                XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityDeleteHandler<typeof(TModel).FullName>", $"Creation Failed for type{typeof(TModel).FullName}");               //todo fix this line
                XOFFLoggerSingleton.Instance.LogException($"XoffHttpEntityDeleteHandler<typeof(TModel).FullName>", ex, XOFFErrorSeverity.Warning);

                return(XOFFOperationResult.CreateFailure(ex));
            }
        }
Ejemplo n.º 4
0
        public virtual async Task <XOFFOperationResult <string> > Create(ChangeQueueItem queueItem)
        {
            try
            {
                var client = _httpClientProvider.GetClient();

                var response = await client.PostAsync(EndpointUrl, new StringContent(queueItem.ChangedItemJson, Encoding.UTF8, "application/json" ));

                if (response.IsSuccessStatusCode)
                {
                    var itemJson = await response.Content.ReadAsStringAsync();

                    return(XOFFOperationResult <string> .CreateSuccessResult(itemJson));
                }
                else
                {
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityCreateHandler<typeof(TModel).FullName>", $"Creation Failed for type{typeof(TModel).FullName}");
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityCreateHandler<typeof(TModel).FullName>", response.Content.ReadAsStringAsync().Result);
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityCreateHandler<typeof(TModel).FullName>", response.RequestMessage.ToString());
                    return(XOFFOperationResult <string> .CreateFailure(response.ReasonPhrase));
                }
            }
            catch (Exception ex)
            {
                XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityCreateHandler<typeof(TModel).FullName>", $"Creation Failed for type{typeof(TModel).FullName}");
                XOFFLoggerSingleton.Instance.LogException($"XoffHttpEntityCreateHandler<typeof(TModel).FullName>", ex, XOFFErrorSeverity.Warning);
                return(XOFFOperationResult <string> .CreateFailure(ex));
            }
        }
Ejemplo n.º 5
0
        public async Task <OperationResult> Update(ChangeQueueItem queueItem)
        {
            try
            {
                using (var client = _httpClientProvider.GetClient())
                {
                    var response = await client.PutAsync(_endpointUri, new StringContent(queueItem.ChangedItemJson, Encoding.UTF8, "application/json"));

                    if (response.IsSuccessStatusCode)
                    {
                        var itemJson = await response.Content.ReadAsStringAsync();

                        return(OperationResult.CreateSuccessResult(itemJson));
                    }
                    else
                    {
                        return(OperationResult.CreateFailure(response.ReasonPhrase));
                    }
                }
            }
            catch (Exception ex)
            {
                return(OperationResult.CreateFailure(ex));
            }
        }
Ejemplo n.º 6
0
        public static async Task <IAcrClient> CreateAsync(string acrName, string tenant, string username, string password,
                                                          ILoggerService loggerService, IHttpClientProvider httpClientProvider)
        {
            string aadAccessToken = await AuthHelper.GetAadAccessTokenAsync("https://management.azure.com", tenant, username, password);

            return(new AcrClient(httpClientProvider.GetClient(), acrName, tenant, aadAccessToken, loggerService));
        }
Ejemplo n.º 7
0
 internal HttpClient GetHttpClient()
 {
     if (httpClient_ == null)
     {
         httpClient_ = httpClientProvider_.GetClient(Proxy);
     }
     return(httpClient_);
 }
Ejemplo n.º 8
0
        public async Task <OperationResult <IList <TModel> > > Get()
        {
            try
            {
                using (var client = _httpClientProvider.GetClient())
                {
                    var response = await client.GetAsync(_getAllEndpointUri);

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

                    var items = JsonConvert.DeserializeObject <List <TModel> >(itemJson);
                    return(OperationResult <IList <TModel> > .CreateSuccessResult(items));
                }
            }
            catch (Exception ex)
            {
                return(OperationResult <IList <TModel> > .CreateFailure(ex));
            }
        }
Ejemplo n.º 9
0
 public GetStaleImagesCommand(
     IDockerService dockerService,
     IHttpClientProvider httpClientFactory,
     ILoggerService loggerService,
     IGitHubClientFactory gitHubClientFactory)
 {
     this.dockerService       = dockerService;
     this.loggerService       = loggerService;
     this.gitHubClientFactory = gitHubClientFactory;
     this.httpClient          = httpClientFactory.GetClient();
 }
Ejemplo n.º 10
0
 public GetStaleImagesCommand(
     IManifestToolService manifestToolService,
     IHttpClientProvider httpClientFactory,
     ILoggerService loggerService,
     IGitHubClientFactory gitHubClientFactory)
 {
     _manifestToolService = manifestToolService;
     _loggerService       = loggerService;
     _gitHubClientFactory = gitHubClientFactory;
     _httpClient          = httpClientFactory.GetClient();
 }
Ejemplo n.º 11
0
        public virtual async Task <XOFFOperationResult <IList <TModel> > > Get()
        {
            try
            {
                var client = _httpClientProvider.GetClient();

                var endpoint = GetAllEndpoint;
                XOFFLoggerSingleton.Instance.LogMessage("Xoff http get handler", $"Get {typeof(TModel)} started");
                var response = await client.GetAsync(endpoint);

                XOFFLoggerSingleton.Instance.LogMessage("Xoff http get handler", $"Get {typeof(TModel)} responded");
                if (response.IsSuccessStatusCode)
                {
                    var itemJson = await response.Content.ReadAsStringAsync();

                    IList <TModel> items = SerializeListOfitems(itemJson);
                    for (int i = 0; i < items.Count; i++)
                    {
                        items[i].ApiSortOrder = i;
                    }
                    items = await GetCompleted(items);

                    return(XOFFOperationResult <IList <TModel> > .CreateSuccessResult(items));
                }
                else
                {
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", $"get Failed for type{typeof(TModel).FullName}");
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", response.Content.ReadAsStringAsync().Result);
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", response.RequestMessage.ToString());

                    return(XOFFOperationResult <IList <TModel> > .CreateFailure(response.ReasonPhrase));                       //todo return http result
                }
            }
            catch (Exception ex)
            {
                XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", $"get Failed for type{typeof(TModel).FullName}");
                XOFFLoggerSingleton.Instance.LogException($"XoffHttpEntityGetter<typeof(TModel).FullName>", ex, XOFFErrorSeverity.Warning);

                return(XOFFOperationResult <IList <TModel> > .CreateFailure(ex));
            }
        }
Ejemplo n.º 12
0
        public PublishImageInfoCommand(IGitHubClientFactory gitHubClientFactory, ILoggerService loggerService, IHttpClientProvider httpClientFactory)
        {
            if (httpClientFactory is null)
            {
                throw new ArgumentNullException(nameof(httpClientFactory));
            }

            this.gitHubClientFactory = gitHubClientFactory ?? throw new ArgumentNullException(nameof(gitHubClientFactory));
            this.loggerService       = loggerService ?? throw new ArgumentNullException(nameof(loggerService));

            this.httpClient = httpClientFactory.GetClient();
        }
Ejemplo n.º 13
0
        public async Task <XOFFOperationResult> Update(ChangeQueueItem queueItem)
        {
            try
            {
                var client = _httpClientProvider.GetClient();

                var endpoint = _useIdBasedFormatString ? string.Format(_endpointUri, queueItem.ChangedItemId) : _endpointUri;
                HttpResponseMessage response;
                if (_usePost)
                {
                    response = await client.PostAsync(endpoint,
                                                      new StringContent(queueItem.ChangedItemJson, Encoding.UTF8, "application/json"));
                }
                else
                {
                    response = await client.PutAsync(endpoint,
                                                     new StringContent(queueItem.ChangedItemJson, Encoding.UTF8, "application/json"));
                }
                if (response.IsSuccessStatusCode)
                {
                    var itemJson = await response.Content.ReadAsStringAsync();

                    return(XOFFOperationResult.CreateSuccessResult(itemJson));
                }
                else
                {
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", $"Update Failed for type{typeof(TModel).FullName}");
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", response.Content.ReadAsStringAsync().Result);
                    XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", response.RequestMessage.ToString());

                    return(XOFFOperationResult.CreateFailure(response.ReasonPhrase));
                }
            }
            catch (Exception ex)
            {
                XOFFLoggerSingleton.Instance.LogMessage($"XoffHttpEntityGetter<typeof(TModel).FullName>", $"Update Failed for type{typeof(TModel).FullName}");
                XOFFLoggerSingleton.Instance.LogException($"XoffHttpEntityGetter<typeof(TModel).FullName>", ex, XOFFErrorSeverity.Warning);

                return(XOFFOperationResult.CreateFailure(ex));
            }
        }
Ejemplo n.º 14
0
        public async Task <CurrentWeather> GetWeatherAsync(string city)
        {
            if (string.IsNullOrWhiteSpace(city))
            {
                return(null);
            }

            var client = _httpClientProvider.GetClient();

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // TODO: Url should be read from the app settings
            var weatherInfo = await client.GetAsync("http://api.openweathermap.org/data/2.5/weather?q=london&appid=04c73b7a673ebef725d3765edff2c31d&units=metric");

            if (weatherInfo.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <CurrentWeather>(await weatherInfo.Content.ReadAsStringAsync()));
            }

            // TODO: Add logging if not received success code
            return(null);
        }
Ejemplo n.º 15
0
        public async Task <IList <CountryInfo> > GetCountryInfoAsync(string countryName)
        {
            if (string.IsNullOrWhiteSpace(countryName))
            {
                return(null);
            }

            var client = _httpClientProvider.GetClient();

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            // https://restcountries.eu/rest/v2/name/india?fullText=true
            // TODO: Url should be read from the app settings
            var weatherInfo = await client.GetAsync("https://restcountries.eu/rest/v2/name/" + countryName + "?fullText=true");

            if (weatherInfo.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <IList <CountryInfo> >(await weatherInfo.Content.ReadAsStringAsync()));
            }

            // TODO: Add logging if not received success code
            return(null);
        }
Ejemplo n.º 16
0
        public async Task <OperationResult> Delete(ChangeQueueItem queueItem)
        {
            try
            {
                using (var client = _httpClientProvider.GetClient())
                {
                    var response = await client.DeleteAsync(string.Format(_endPointFormatString, queueItem.ChangedItemId));

                    if (response.IsSuccessStatusCode)
                    {
                        return(OperationResult.CreateSuccessResult($"Successfully Deleted item {queueItem.ChangedItemId}"));
                    }
                    else
                    {
                        return(OperationResult.CreateFailure(response.ReasonPhrase));
                    }
                }
            }
            catch (Exception ex)
            {
                return(OperationResult.CreateFailure(ex));
            }
        }
        /// <summary>
        /// By shopUrl.
        /// </summary>
        /// <returns></returns>
        protected virtual async Task <string> GetListUrlTemplate()
        {
            var client = await _httpClientProvider.GetClient(ProxyPurpose);

            var shopUri      = new Uri(Options.Value.ShopUrl);
            var searchAllUrl = new Uri(shopUri, SearchUri);
            var rsp          = await client.GetAsync(searchAllUrl);

            var html = rsp.StatusCode == HttpStatusCode.Redirect
                ? await client.GetStringAsync(rsp.Headers.Location)
                : await rsp.Content.ReadAsStringAsync();

            var asyncSearchUri = new CQ(html)[$"#{AsyncSearchUriElementId}"].Val();

            if (string.IsNullOrEmpty(asyncSearchUri))
            {
                throw new ArgumentNullException(nameof(asyncSearchUri));
            }

            var asyncSearchUrl = new Uri(shopUri, asyncSearchUri).ToString();

            asyncSearchUrl += (asyncSearchUrl.Contains("?") ? "&" : "?") + $"{PageParameterName}={{0}}";
            return(asyncSearchUrl);
        }
Ejemplo n.º 18
0
 public IMcrStatusClient Create(string tenant, string clientId, string clientSecret) =>
 new McrStatusClient(_httpClientProvider.GetClient(), tenant, clientId, clientSecret, _loggerService);
Ejemplo n.º 19
0
 public CopyBaseImagesCommand(
     IAzureManagementFactory azureManagementFactory, ILoggerService loggerService, IHttpClientProvider httpClientProvider)
     : base(azureManagementFactory, loggerService)
 {
     _httpClient = httpClientProvider.GetClient();
 }