Ejemplo n.º 1
0
        public async Task <IActionResult> Raw(int year, int month, int day, string slug, string raw)
        {
            var slugInfo = new PostSlugInfo(year, month, day, slug);

            if (!_blogConfig.SecuritySettings.EnablePostRawEndpoint)
            {
                return(NotFound());
            }

            if (year > DateTime.UtcNow.Year || string.IsNullOrWhiteSpace(slug))
            {
                Logger.LogWarning($"Invalid parameter year: {year}, slug: {slug}");
                return(NotFound());
            }

            switch (raw.ToLower())
            {
            case "meta":
                var meta = await _postService.GetSegmentAsync(slugInfo);

                return(Json(meta));

            case "content":
                var content = await _postService.GetRawContentAsync(slugInfo);

                return(Content(content, "text/plain"));
            }

            return(BadRequest());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Raw(int year, int month, int day, string slug, string type)
        {
            var slugInfo = new PostSlugInfo(year, month, day, slug);

            if (!_blogConfig.SecuritySettings.EnablePostRawEndpoint ||
                year > DateTime.UtcNow.Year ||
                string.IsNullOrWhiteSpace(slug))
            {
                return(NotFound());
            }

            switch (type.ToLower())
            {
            case "meta":
                var meta = await _postService.GetMeta(slugInfo);

                return(Json(meta));

            case "content":
                var content = await _postService.GetContent(slugInfo);

                return(Content(content, "text/plain"));
            }

            return(BadRequest());
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Slug(int year, int month, int day, string slug)
        {
            if (year > DateTime.UtcNow.Year || string.IsNullOrWhiteSpace(slug))
            {
                return(NotFound());
            }

            var slugInfo = new PostSlugInfo(year, month, day, slug);
            var post     = await _postService.GetAsync(slugInfo);

            if (post is null)
            {
                return(NotFound());
            }

            ViewBag.TitlePrefix = $"{post.Title}";
            return(View(post));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Slug(int year, int month, int day, string slug)
        {
            ViewBag.ErrorMessage = string.Empty;

            if (year > DateTime.UtcNow.Year || string.IsNullOrWhiteSpace(slug))
            {
                Logger.LogWarning($"Invalid parameter year: {year}, slug: {slug}");
                return(NotFound());
            }

            var slugInfo = new PostSlugInfo(year, month, day, slug);
            var post     = await _postService.GetAsync(slugInfo);

            if (post == null)
            {
                Logger.LogWarning($"Post not found, parameter '{year}/{month}/{day}/{slug}'.");
                return(NotFound());
            }

            var viewModel = new PostSlugViewModelWrapper(post);

            ViewBag.TitlePrefix = $"{post.Title}";
            return(View(viewModel));
        }