add language to etag
This commit is contained in:
parent
5fe03c4c8e
commit
8c52f9aed1
2 changed files with 4 additions and 2 deletions
|
@ -3,6 +3,7 @@ from functools import wraps
|
||||||
from django.http import HttpResponseNotModified, HttpResponseRedirect
|
from django.http import HttpResponseNotModified, HttpResponseRedirect
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.utils.cache import patch_vary_headers
|
from django.utils.cache import patch_vary_headers
|
||||||
|
from django.utils.translation import get_language
|
||||||
|
|
||||||
from c3nav.editor.models import ChangeSet
|
from c3nav.editor.models import ChangeSet
|
||||||
from c3nav.mapdata.models.access import AccessPermission
|
from c3nav.mapdata.models.access import AccessPermission
|
||||||
|
@ -43,5 +44,5 @@ def sidebar_view(func=None, select_related=None):
|
||||||
|
|
||||||
|
|
||||||
def etag_func(request, *args, **kwargs):
|
def etag_func(request, *args, **kwargs):
|
||||||
return (request.changeset.raw_cache_key_by_changes + ':' +
|
return (get_language() + ':' + request.changeset.raw_cache_key_by_changes + ':' +
|
||||||
AccessPermission.cache_key_for_request(request, with_update=False))
|
AccessPermission.cache_key_for_request(request, with_update=False))
|
||||||
|
|
|
@ -9,6 +9,7 @@ from django.shortcuts import redirect
|
||||||
from django.utils.cache import get_conditional_response
|
from django.utils.cache import get_conditional_response
|
||||||
from django.utils.http import quote_etag
|
from django.utils.http import quote_etag
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.utils.translation import get_language
|
||||||
from rest_framework.decorators import detail_route, list_route
|
from rest_framework.decorators import detail_route, list_route
|
||||||
from rest_framework.exceptions import NotFound, ValidationError
|
from rest_framework.exceptions import NotFound, ValidationError
|
||||||
from rest_framework.mixins import RetrieveModelMixin
|
from rest_framework.mixins import RetrieveModelMixin
|
||||||
|
@ -37,7 +38,7 @@ def simple_api_cache(permissions=True, etag_func=AccessPermission.etag_func):
|
||||||
def wrapper(func):
|
def wrapper(func):
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
def wrapped_func(self, request, *args, **kwargs):
|
def wrapped_func(self, request, *args, **kwargs):
|
||||||
etag = quote_etag(etag_func(request) if permissions else MapUpdate.current_cache_key())
|
etag = quote_etag(get_language()+':'+(etag_func(request) if permissions else MapUpdate.current_cache_key()))
|
||||||
|
|
||||||
response = get_conditional_response(request, etag=etag)
|
response = get_conditional_response(request, etag=etag)
|
||||||
if response is None:
|
if response is None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue