comparison libervia/server/pages.py @ 1167:7d2e098ea3f4

pages (cache): separate cached pages using locales, to avoid having a page cache in a specific locale used for an other one.
author Goffi <goffi@goffi.org>
date Fri, 12 Apr 2019 13:58:02 +0200
parents 6424d3684d1e
children ea0caa7b1bcc
comparison
equal deleted inserted replaced
1166:5baf7ece44a0 1167:7d2e098ea3f4
925 u'registered')) 925 u'registered'))
926 return 926 return
927 if profile != C.SERVICE_PROFILE: 927 if profile != C.SERVICE_PROFILE:
928 #  only service profile is cache for now 928 #  only service profile is cache for now
929 return 929 return
930 session_data = self.host.getSessionData(request, session_iface.ISATSession)
931 locale = session_data.locale
932 if locale == C.DEFAULT_LOCALE:
933 # no need to duplicate cache here
934 locale = None
930 try: 935 try:
931 cache = (self.cache[profile][cache_type][service][node] 936 cache = (self.cache[profile][cache_type][service][node]
932 [self.vhost_root][request.uri][self]) 937 [self.vhost_root][request.uri][locale][self])
933 except KeyError: 938 except KeyError:
934 # no cache yet, let's subscribe to the pubsub node 939 # no cache yet, let's subscribe to the pubsub node
935 d1 = self.host.bridgeCall( 940 d1 = self.host.bridgeCall(
936 "psSubscribe", service.full(), node, {}, profile 941 "psSubscribe", service.full(), node, {}, profile
937 ) 942 )
938 d1.addCallback(self.checkCacheSubscribeCb, service, node) 943 d1.addCallback(self.checkCacheSubscribeCb, service, node)
939 d1.addErrback(self.checkCacheSubscribeEb, service, node) 944 d1.addErrback(self.checkCacheSubscribeEb, service, node)
940 d2 = self.host.bridgeCall("psNodeWatchAdd", service.full(), node, profile) 945 d2 = self.host.bridgeCall("psNodeWatchAdd", service.full(), node, profile)
941 d2.addErrback(self.psNodeWatchAddEb, service, node) 946 d2.addErrback(self.psNodeWatchAddEb, service, node)
942 self._do_cache = [self, profile, cache_type, service, node, 947 self._do_cache = [self, profile, cache_type, service, node,
943 self.vhost_root, request.uri] 948 self.vhost_root, request.uri, locale]
944 #  we don't return the Deferreds as it is not needed to wait for 949 #  we don't return the Deferreds as it is not needed to wait for
945 # the subscription to continue with page rendering 950 # the subscription to continue with page rendering
946 return 951 return
947 952
948 else: 953 else: