Example #1
0
        public PrivateAccessReponse GetFileContent()
        {
            PrivateAccessReponse privateAccessReponse = new PrivateAccessReponse()
            {
                ByteResponse = null,
            };

            try
            {
                if (!string.IsNullOrEmpty(PATToken))
                {
                    string baseurl     = string.Format("https://{0}", url);
                    var    apiResponse = HttpHelper.SendRequest(PATToken, HttpMethod.Get, baseurl, null, null, "application/json", null, "git").GetAwaiter().GetResult();
                    if (apiResponse.StatusCode == HttpStatusCode.OK)
                    {
                        privateAccessReponse.RawResponse         = apiResponse.RawResponse;
                        privateAccessReponse.ResponseContentType = apiResponse.ResponseContentType;
                        privateAccessReponse.ByteResponse        = apiResponse.ByteResponse;
                    }
                    else
                    {
                        privateAccessReponse.ErrorMessage = string.Format("Error : {0} : {1} ", apiResponse.StatusCode, apiResponse.RawResponse);
                    }
                }
                else
                {
                    Log.ErrorFormat("Not able to find PATToken for organization {0}", organizationName);
                    privateAccessReponse.ErrorMessage = string.Format("Not able to find PATToken for organization {0}", organizationName);
                }
            }
            catch (Exception ex)
            {
                Log.ErrorFormat("Exception while getting response from git : {0}", ex.ToString());
                privateAccessReponse.ErrorMessage = ex.Message.ToString();
            }

            return(privateAccessReponse);
        }
        public PrivateAccessReponse GetFileContent()
        {
            PrivateAccessReponse privateAccessReponse = new PrivateAccessReponse()
            {
                ByteResponse = null,
            };

            try
            {
                if (!string.IsNullOrEmpty(PATToken))
                {
                    string basicAuth   = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", PATToken)));
                    string endPointURL = string.Format("{0}/{1}/_apis/git/repositories?api-version=5.1", devopsApiEndpoint, organizationName);
                    var    apiResponse = HttpHelper.SendRequestWithBasicAuthentication(basicAuth, HttpMethod.Get, endPointURL).GetAwaiter().GetResult();

                    if (apiResponse.StatusCode == HttpStatusCode.OK && !string.IsNullOrEmpty(apiResponse.RawResponse))
                    {
                        var parsedAppListResult = JsonDocument.Parse(apiResponse.RawResponse);
                        var repoResponse        = JsonSerializer.Deserialize <List <Repository> >(parsedAppListResult?.RootElement.GetProperty("value").ToString(), options);

                        if (repoResponse.Count > 0)
                        {
                            Repository repoModel = repoResponse.Where(x => x.Name.ToLower().Equals(projectName.ToLower()) == true).FirstOrDefault();
                            if (repoModel != null)
                            {
                                endPointURL = string.Format("{0}/{1}/{2}/_apis/git/repositories/{3}/items?path={4}&api-version=5.1", devopsApiEndpoint, organizationName, projectName, repoModel.Id, path);

                                // Don't Remove this comment
                                //if (returnContentType == ReturnContentType.Image)
                                //{
                                //    endPointURL = endPointURL + "&%24format=octetStream";
                                //}

                                apiResponse = HttpHelper.SendRequestWithBasicAuthentication(basicAuth, HttpMethod.Get, endPointURL).GetAwaiter().GetResult();

                                if (apiResponse.StatusCode == HttpStatusCode.OK && !string.IsNullOrEmpty(apiResponse.RawResponse))
                                {
                                    privateAccessReponse.ResponseContentType = apiResponse.ResponseContentType;
                                    privateAccessReponse.RawResponse         = apiResponse.RawResponse;
                                    privateAccessReponse.ByteResponse        = apiResponse.ByteResponse;
                                }
                                else
                                {
                                    //privateAccessReponse.ErrorMessage = string.Format("Error : {0} : {1} ", apiResponse.StatusCode, JsonSerializer.Deserialize<HttpResponseError>(apiResponse.RawResponse, this.options).Message);
                                    privateAccessReponse.ErrorMessage = string.Format("Error : {0} : {1} ", apiResponse.StatusCode, apiResponse.RawResponse);
                                }
                            }
                            else
                            {
                                privateAccessReponse.ErrorMessage = string.Format("Unable to find repository or project {0}", projectName);
                            }
                        }
                        else
                        {
                            privateAccessReponse.ErrorMessage = string.Format("Failed to find repository or project");
                        }
                    }
                    else
                    {
                        // privateAccessReponse.ErrorMessage = string.Format("Error : {0} : {1} ", apiResponse.StatusCode, JsonSerializer.Deserialize<HttpResponseError>(apiResponse.RawResponse, this.options).Message);
                        privateAccessReponse.ErrorMessage = string.Format("Error : {0} : {1} ", apiResponse.StatusCode, apiResponse.RawResponse);
                    }
                }
                else
                {
                    Log.ErrorFormat("Not able to find PATToken for organization {0}", organizationName);
                    privateAccessReponse.ErrorMessage = string.Format("Not able to find PATToken for organization {0}", organizationName);
                }
            }
            catch (Exception ex)
            {
                Log.ErrorFormat("Exception while getting response from azure devops : {0}", ex.ToString());
                privateAccessReponse.ErrorMessage = ex.Message.ToString();
            }

            return(privateAccessReponse);
        }