def add(self, obj, config, cache_key): request = get_request() if request: caches_dict = request.session.setdefault(self.CONTAINER_KEY, {}) model_cache = caches_dict.get(cache_key, {}) if model_cache: model_cache = strip_old_objects(model_cache, config["cache_time"]) model_cache[obj.pk] = timezone.now() caches_dict[cache_key] = model_cache
def get_trace_and_span_id_from_djangae(self): request = get_request() if request is None: return None, None # find trace id and span id header = request.META.get(_DJANGO_TRACE_HEADER) trace_id, span_id = _parse_trace_span(header) return trace_id, span_id
def get_pks(self, model_class, config, cache_key): request = get_request() if request: caches_dict = request.session.setdefault(self.CONTAINER_KEY, {}) model_cache = caches_dict.get(cache_key, {}) # We strip out any PKs which are older than the cache_time, but for speed # we don't bother updating the cache, we only do that when saving an object if model_cache: model_cache = strip_old_objects(model_cache, config["cache_time"]) return model_cache.keys() return []
def remove(self, obj, config, cache_key): request = get_request() if request: caches_dict = request.session.setdefault(self.CONTAINER_KEY, {}) model_cache = caches_dict.get(cache_key, {}) if model_cache: model_cache = strip_old_objects(model_cache, config["cache_time"]) try: del model_cache[obj.pk] except KeyError: pass caches_dict[cache_key] = model_cache
def csrf_exempt(self): request = get_request() if not request: raise ImproperlyConfigured( "djangae.contrib.common.middleware.RequestStorageMiddleware " "must be in your MIDDLEWARE setting ahead of CsrfMiddleware" ) is_in_task = bool(request.META.get(_TASK_NAME_HEADER, False)) is_in_cron = bool(request.META.get(_CRON_TASK_HEADER, False)) return any((is_in_task, is_in_cron))