From f4415edd2dbbb5f851c499e75aa0a711b1f1d9b4 Mon Sep 17 00:00:00 2001 From: Pinank Solanki Date: Tue, 26 Apr 2022 23:04:44 +0530 Subject: [PATCH] :bug: Fix: Expiration time in cache middleware * Custom expiration time using ExpirationGenerator is also functional now instead of default Expiration only --- middleware/cache/cache.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/middleware/cache/cache.go b/middleware/cache/cache.go index dee6d18a0e..367baef694 100644 --- a/middleware/cache/cache.go +++ b/middleware/cache/cache.go @@ -168,23 +168,23 @@ func New(config ...Config) fiber.Handler { } // default cache expiration - expiration := uint64(cfg.Expiration.Seconds()) + expiration := cfg.Expiration // Calculate expiration by response header or other setting if cfg.ExpirationGenerator != nil { - expiration = uint64(cfg.ExpirationGenerator(c, &cfg).Seconds()) + expiration = cfg.ExpirationGenerator(c, &cfg) } - e.exp = ts + expiration + e.exp = ts + uint64(expiration.Seconds()) // For external Storage we store raw body separated if cfg.Storage != nil { - manager.setRaw(key+"_body", e.body, cfg.Expiration) + manager.setRaw(key+"_body", e.body, expiration) // avoid body msgp encoding e.body = nil - manager.set(key, e, cfg.Expiration) + manager.set(key, e, expiration) manager.release(e) } else { // Store entry in memory - manager.set(key, e, cfg.Expiration) + manager.set(key, e, expiration) } c.Set(cfg.CacheHeader, cacheMiss)