This module is an Django middleware using optic-sdk to capture and format HTTP data to send to Optic. We have a list of middleware available for some frameworks, if we are missing the framework join our community and suggest the next framework or develop it with us.
The module requires @useoptic/cli
to be installed, instructions on installing it are available https://www.useoptic.com/docs/.
pip install optic-django-middlewaree
The middleware takes a configuration object and captures traffic in the background as long as @useoptic/cli
is installed.
Environment variables can also be used to set the values
ENABLE
:boolean
(defaults toFALSE
) Programmatically control if capturing data and sending it to OpticUPLOAD_URL
:string
(defaults toos.environ['OPTIC_LOGGING_URL']
) The URL to Optics capture URL, if left blank it will expectOPTIC_LOGGING_URL
environment variable set by the Optic CLICONSOLE
:boolean
(defaults toFALSE
) Send to stdout/console for debuggingframework
:string
(defaults to '') Additional information to inform Optic of where it is capturing informationLOG
:boolean
(defaults toFALSE
) Send to log fileLOG_PATH
:boolean
(defaults to./optic.log
) Log file pathLOCAL
:boolean
(defaults toTRUE
) Send to optic cliINTERACTION_MANAGER
:string
(defaults tooptic_django_middleware.manager.BasicOpticManager
) Manager module to control the behaviour of capturing and sending interaction
# settings.py
import os
from tempfile import mkdtemp
tempdir = mkdtemp('optic_django')
OPTIC = {
'ENABLE': True,
'LOG_PATH': os.path.join(tempdir, 'optic.log'),
'LOG': True,
'CONSOLE': False,
'LOCAL': False
}
INSTALLED_APPS += [
'optic_django_middleware',
]
To start capturing data from the SDK, run your application with
api exec "python manage.py runserver"
This software is licensed under the MIT license.