Пример #1
0
        public async Task <ReadMeResponse> GetReadMe([FromQuery] string Owner, [FromQuery] string Repo, [FromQuery] ReadMeFormat Format = ReadMeFormat.Markdown)
        {
            var readme = await RepoUtil.GetReadMeAsync(Owner, Repo);

            if (readme != null)
            {
                switch (Format)
                {
                case ReadMeFormat.Markdown:
                {
                    return(new ReadMeResponse()
                        {
                            Content = readme.GetContent(), Format = Format, Owner = Owner, Repo = Repo
                        });
                }

                case ReadMeFormat.Html:
                {
                    return(new ReadMeResponse()
                        {
                            Content = await readme.GetHtmlAsync(), Format = Format, Owner = Owner, Repo = Repo
                        });
                }

                default:
                {
                    return(null);
                }
                }
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        public async Task <IActionResult> DownloadReadMe([FromQuery] string Owner, [FromQuery] string Repo, [FromQuery] ReadMeFormat Format = ReadMeFormat.Markdown)
        {
            var readme = await GetReadMe(Owner, Repo, Format);

            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);

            switch (Format)
            {
            case ReadMeFormat.Markdown:
            {
                return(File(Encoding.UTF8.GetBytes(readme.Content), "application/octet-stream", $"{Owner}-{Repo}.README.md"));
            }

            case ReadMeFormat.Html:
            {
                return(File(Encoding.UTF8.GetBytes(readme.Content), "application/octet-stream", $"{Owner}-{Repo}.README.html"));
            }

            default:
                return(null);
            }
        }