added versioning headers to the API

This commit is contained in:
jonaswinkler
2021-02-26 11:13:28 +01:00
parent 6a70b9c4b4
commit 068fdbd3f9
3 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
from django.conf import settings
from paperless import version
class ApiVersionMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
if request.user.is_authenticated:
versions = settings.REST_FRAMEWORK['ALLOWED_VERSIONS']
response['X-Api-Version'] = versions[len(versions)-1]
response['X-Version'] = ".".join([str(_) for _ in version.__version__])
return response