AzureMLConnector.Controllers.CheckStatusController.InvokeBatchExecutionService C# (CSharp) Method

InvokeBatchExecutionService() private method

private InvokeBatchExecutionService ( string url, string api ) : Task
url string
api string
return Task
        private async Task<HttpResponseMessage> InvokeBatchExecutionService(string url, string api)
        {
            var response = new HttpResponseMessage();
            try
            {
                using (HttpClient client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", api);
                    //Task<string> response = null;
                    //response = client.GetStringAsync(url);

                    BatchScoreStatus status = new BatchScoreStatus();
                    response = await client.GetAsync(url);

                    if (!response.IsSuccessStatusCode)
                    {
                        response.StatusCode = HttpStatusCode.NotFound;
                        return response;
                    }

                    status = await response.Content.ReadAsAsync<BatchScoreStatus>();


                    if (status.StatusCode == BatchScoreStatusCode.NotStarted || status.StatusCode == BatchScoreStatusCode.Running)
                    {
                        response.StatusCode = HttpStatusCode.Accepted;
                        response.Headers.Location = new Uri(Request.RequestUri.AbsoluteUri);    // Set location same with last time.
                        response.Headers.Add("Retry-after", "30");
                    }

                    else if (status.StatusCode == BatchScoreStatusCode.Failed || status.StatusCode == BatchScoreStatusCode.Cancelled)
                    {
                        response.StatusCode = HttpStatusCode.InternalServerError;
                    }

                    
                    else if (status.StatusCode == BatchScoreStatusCode.Finished)
                    {
                        status.SetAdditionInformation();
                        response = Request.CreateResponse<BatchScoreStatus>(HttpStatusCode.OK, status);
                    }                    

                    return response;
                }
            }
            catch (Exception ex)
            {
                response.StatusCode = HttpStatusCode.InternalServerError;
                response.ReasonPhrase = ex.Message;
                return response;
            }
        }
        public class res_output