2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-05-09 03:03:41 +00:00

feat(backend): add inventree version to every response (#11611) (#11620)

* feat(backend): add inventree version to every response

* add more info

(cherry picked from commit e3c9a35bae)

Co-authored-by: Matthias Mair <code@mjmair.com>
This commit is contained in:
github-actions[bot]
2026-03-29 14:45:22 +11:00
committed by GitHub
parent c5ff2f514f
commit b19528b341
2 changed files with 18 additions and 0 deletions
@@ -19,6 +19,11 @@ from error_report.middleware import ExceptionProcessor
from common.settings import get_global_setting from common.settings import get_global_setting
from InvenTree.cache import create_session_cache, delete_session_cache from InvenTree.cache import create_session_cache, delete_session_cache
from InvenTree.config import CONFIG_LOOKUPS, inventreeInstaller from InvenTree.config import CONFIG_LOOKUPS, inventreeInstaller
from InvenTree.version import (
inventreeApiVersion,
inventreePythonVersion,
inventreeVersion,
)
from users.models import ApiToken from users.models import ApiToken
logger = structlog.get_logger('inventree') logger = structlog.get_logger('inventree')
@@ -393,3 +398,15 @@ class InvenTreeHostSettingsMiddleware(MiddlewareMixin):
# All checks passed # All checks passed
return None return None
class InvenTreeVersionHeaderMiddleware(MiddlewareMixin):
"""Middleware to add the InvenTree version header to all responses."""
def process_response(self, request, response):
"""Add the InvenTree version header to the response."""
response['X-InvenTree-Version'] = inventreeVersion()
response['X-InvenTree-API'] = inventreeApiVersion()
response['X-InvenTree-Python'] = inventreePythonVersion()
response['X-InvenTree-Installer'] = inventreeInstaller()
return response
@@ -362,6 +362,7 @@ MIDDLEWARE = CONFIG.get(
'InvenTree.middleware.InvenTreeRequestCacheMiddleware', # Request caching 'InvenTree.middleware.InvenTreeRequestCacheMiddleware', # Request caching
'InvenTree.middleware.InvenTreeHostSettingsMiddleware', # Ensuring correct hosting/security settings 'InvenTree.middleware.InvenTreeHostSettingsMiddleware', # Ensuring correct hosting/security settings
'django_structlog.middlewares.RequestMiddleware', # Structured logging 'django_structlog.middlewares.RequestMiddleware', # Structured logging
'InvenTree.middleware.InvenTreeVersionHeaderMiddleware',
], ],
) )