Django TAXII installable app & utilities for creating TAXII Django Web Apps.
Project description
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.
Please Note that this library is under rapid development. If you see anything you’d like to ask a question on, please open an issue on GitHub or contact the public discussion list (taxii-discussion-list@lists.mitre.org) or contact the TAXII Team privately 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
You are encouraged to provide feedback by commenting on open issues or signing up for the TAXII discussion list and posting your questions (http://taxii.mitre.org/community/registration.html).
License
For license information, see the LICENSE.txt file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.