Skip to content
This repository has been archived by the owner on May 11, 2019. It is now read-only.

TAXIIProject/django-taxii-services

Repository files navigation

django-taxii-services

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

https://github.com/TAXIIProject/django-taxii-services

Documentation

http://taxii-services.readthedocs.io

Information

http://taxiiproject.github.io/

Download

https://pypi.python.org/pypi/taxii-services

Build Status Code Health version badge downloads badge

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.