Django TAXII installable app & utilities for creating TAXII Django Web Apps.
Project description
Please Note:
This library is no longer maintained. If you need an open source TAXII 1.X implementation, please see this list of other libraries.
- Source:
- Documentation:
- Information:
- Download:
Overview
django-taxii-services is an installable Django app that enables application developers to rapidly create TAXII Applications that cover any aspect of TAXII 1.0 and TAXII 1.1. Key aspects of django-taxii-services include:
Reusable - You can install it
Extensible - You can extend (almost) any aspect of django-taxii-services to perform your custom application logic
Complete - Covers 100% of TAXII 1.0 and TAXII 1.1 (this is more of a goal, at the moment)
Easy - Always a subjective term, but django-taxii-services aims to be easy to use.
If you see anything you’d like to ask a question on, please open an issue on GitHub or contact the TAXII Team at taxii@mitre.org.
Using django-taxii-services
Create your own Django project, install django-taxii-services, and modify your settings.py to add taxii_services (e.g.,):
INSTALLED_APPS = (
...
'taxii_services',
)
MIDDLEWARE_CLASSES = (
...
'taxii_services.middleware.StatusMessageExceptionMiddleware'
)
# Add a logger if you'd like
LOGGING = {
...
'loggers': {
...
'taxii_services': {
'handlers': ['normal','stdout'],
'level': LOG_LEVEL,
'propagate': True,
},
}
}
Some Key Features
(This section is kind of a brain dump and should eventually be moved to readthedocs when it matures)
exceptions.StatusMessageException / middleware.StatusMessageExceptionMiddleware - These, when used together, allow developers to raise a StatusMessageException() anywhere and have the server automagically create a StatusMessage in response (might be a TAXII 1.0 or 1.1 Status Message depending on the request). If you have taxii_services.middleware.StatusMessageExceptionMiddleware in your MIDDLEWARAE_CLASSES, you can just raise taxii_services.exceptions.StatusMessageException( ... ) from anywhere and have django-taxii-services send back a StatusMessage.
Register your own message handler - use taxii_services.management.register_message_handler()
Some convenience methods:
taxii_services.register_admins - Register some/all admins to the Django admin interface
taxii_services.register_message_handlers - Register some/all built-in message handlers
Dependencies
TODO: Document the dependencies
Feedback
Please provide feedback and/or comments on open issues to taxii@mitre.org.
License
For license information, see the LICENSE.txt file.