Mercurial > libervia-web
diff libervia/server/pages.py @ 1267:b5f920845d34
pages: delete existing cache instead of just ignoring it when `no-cache` is used
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 19 May 2020 11:02:33 +0200 |
parents | 6b7f9c3558cc |
children | e628724530ec |
line wrap: on
line diff
--- a/libervia/server/pages.py Tue May 19 11:02:32 2020 +0200 +++ b/libervia/server/pages.py Tue May 19 11:02:33 2020 +0200 @@ -977,8 +977,7 @@ # we are not on the final page, no need to go further return - if request.getHeader('cache-control') == 'no-cache': - return + no_cache = request.getHeader('cache-control') == 'no-cache' profile = self.getProfile(request) or C.SERVICE_PROFILE @@ -1018,6 +1017,12 @@ # we don't return the Deferreds as it is not needed to wait for # the subscription to continue with page rendering return + else: + if no_cache: + del (self.cache[profile][cache_type][service][node] + [self.vhost_root][request.uri][locale][self]) + log.debug(f"cache removed for {self}") + return else: raise exceptions.InternalError("Unknown cache_type")