public async Task <IActionResult> Index(UrlModel urlModel) { if (urlModel.ProvidedUrl == null) { return(View(_viewModel)); } this._apiFactory = new MercuryApiFactory(ApiUris.MercuryApiUri + urlModel.ProvidedUrl, ContentTypes.Json, ApiNames.MercuryApiName, AuthorizationTypes.xKey); this._httpRequestController = new HttpRequestController(_apiFactory.GetApi()); this._httpRequestController.AddContentTypeHeader(); this._httpRequestController.AddAutorizationHeader(_parser.GetObject(ApiNames.MercuryApiName)); var result = await _httpRequestController.Send(); var response = JsonConvert.DeserializeObject <ResponseModel>(result); if (response.content == null) { TempData["Error"] = "Site is not available or doesn't exist"; return(View(_viewModel)); } if (_viewModel.ResponseModels.Count == 5) { _viewModel.ResponseModels.RemoveAt(0); } _viewModel.ResponseModels.Insert(0, response); HtmlCounter counter = new HtmlCounter(_viewModel.ResponseModels.Last().content); _viewModel.ResponseModels.Last().TagsOccurrences = counter.CountOccurrence(); return(View(_viewModel)); }
static async void ShowOutputs(Project project) { HttpRequestController controller = new HttpRequestController(); foreach (var urimodels in project.RequestUris) { var message = await controller.ExecuteRequest(project.ProjectConfiguration.BaseUrl, urimodels, project.GlobalHeaders); Console.ForegroundColor = ConsoleColor.White; Console.Write(urimodels.RequestUri); if (message.IsSuccessStatusCode) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\tPassed "); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tFailed "); } if (urimodels.HasToken) { string data = await message.Content.ReadAsStringAsync(); JObject jObject = JObject.Parse(data); List <JToken> expandedNodes = jObject.DescendantsAndSelf().ToList(); string token = ""; foreach (var node in expandedNodes) { token = node.SelectToken(urimodels.TokenName)?.ToString(); if (!string.IsNullOrEmpty(token)) { break; } } if (urimodels.IsAuthToken) { project.AddGlobalHeader("Authorization", "bearer " + token); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("JWT Token Added"); } else { project.AddGlobalHeader(urimodels.TokenName, token); } } } }
private void Start() { httpRequestController = FindObjectOfType <HttpRequestController>(); nonUserUIController = FindObjectOfType <NonUserUIController>(); }