From 636cf3839d92e884987e4e3aec7f23953d02fe37 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 13 Mar 2020 17:58:32 +0800 Subject: Add cache for timeline post data. --- Timeline/Controllers/TimelineController.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Timeline/Controllers/TimelineController.cs') diff --git a/Timeline/Controllers/TimelineController.cs b/Timeline/Controllers/TimelineController.cs index 58390c29..8bc0345f 100644 --- a/Timeline/Controllers/TimelineController.cs +++ b/Timeline/Controllers/TimelineController.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using Timeline.Filters; +using Timeline.Helpers; using Timeline.Models; using Timeline.Models.Http; using Timeline.Models.Validation; @@ -114,7 +115,6 @@ namespace Timeline.Controllers return result; } - // TODO: Make cache available. [HttpGet("timelines/{name}/posts/{id}/data")] public async Task>> PostDataGet([FromRoute][GeneralTimelineName] string name, [FromRoute] long id) { @@ -125,8 +125,11 @@ namespace Timeline.Controllers try { - var data = await _service.GetPostData(name, id); - return File(data.Data, data.Type, data.LastModified, new EntityTagHeaderValue($"\"{data.ETag}\"")); + return await DataCacheHelper.GenerateActionResult(this, () => _service.GetPostDataETag(name, id), async () => + { + var data = await _service.GetPostData(name, id); + return data; + }); } catch (TimelinePostNotExistException) { -- cgit v1.2.3