Settings
Package settings are added in your settings.py:
Default settings are shown below:
DJANGO_GUID = {
'GUID_HEADER_NAME': 'Correlation-ID',
'VALIDATE_GUID': True,
'RETURN_HEADER': True,
'EXPOSE_HEADER': True,
'INTEGRATIONS': [],
'UUID_LENGTH': 32,
'UUID_FORMAT': 'hex',
}
GUID_HEADER_NAME
Default:
Correlation-IDType:
string
The name of the GUID to look for in a header in an incoming request. Remember that it’s case insensitive.
VALIDATE_GUID
Default:
TrueType:
boolean
Whether the GUID_HEADER_NAME should be validated or not. If set to True
incoming headers which are not a valid GUID (uuid.uuid4), will be replaced with
a new one.
RETURN_HEADER
Default:
TrueType:
boolean
Whether to return the GUID (Correlation-ID) as a header in the response or not.
It will have the same name as the GUID_HEADER_NAME setting.
EXPOSE_HEADER
Default:
TrueType:
boolean
Whether to return Access-Control-Expose-Headers for the GUID header if
RETURN_HEADER is True, has no effect if RETURN_HEADER is False.
This is allows the JavaScript Fetch API to access the header when CORS is enabled.
INTEGRATIONS
Default:
[]Type:
list
Whether to enable any custom or available integrations with django_guid.
As an example, using SentryIntegration() as an integration would set Sentry’s transaction_id to
match the GUID used by the middleware.
IGNORE_URLS
Default:
[]Type:
list
URL endpoints where the middleware will be disabled. You can put your health check endpoints here.
UUID_LENGTH
Default:
32Type:
int
If a full UUID hex is too long for you, this settings lets you specify the length you wish to use. The chance of collision in a UUID is so low, that most systems will get away with a lot fewer than 32 characters.
UUID_FORMAT
Default:
hexType:
string
If a UUID hex is not suitable for you, this settings lets you specify the format you wish to use. The options are:
* hex: The default, a 32 character hexadecimal string. e.g. ee586b0fba3c44849d20e1548210c050
* string: A 36 character string. e.g. ee586b0f-ba3c-4484-9d20-e1548210c050