Metadata-Version: 1.1
Name: Flask-Breathalyzer
Version: 0.2.2
Summary: Flask module for submitting timings and exceptions to Datadog
Home-page: https://github.com/mindflayer/flask-breathalyzer
Author: Giorgio Salluzzo
Author-email: giorgio.salluzzo@gmail.com
License: BSD
Description: ==================
        Flask-Breathalyzer
        ==================
        
        .. image:: https://api.travis-ci.org/mindflayer/flask-breathalyzer.png?branch=master
            :target: http://travis-ci.org/mindflayer/flask-breathalyzer
        
        .. image:: https://coveralls.io/repos/mindflayer/flask-breathalyzer/badge.png?branch=master
            :target: https://coveralls.io/r/mindflayer/flask-breathalyzer
        
        A Flask module pushing exceptions to Datadog
        --------------------------------------------
        
        .. image:: https://raw.githubusercontent.com/mindflayer/flask-breathalyzer/master/Flask-Breathalyzer.png
        
        Features
        ========
        - Pushing exceptions to Datadog;
        - Blacklist for `headers` or `data` as list of *XPATH style* strings (you may have some headers you do not want to publish for privacy, or maybe some body fields you do not need to display - e.g.: a base64 blob).
        
        Installation
        ============
        Using pip::
        
            $ pip install flask_breathalyzer[datadog]
        
        Issues
        ============
        When opening an **Issue**, please add few lines of code as failing test, or -better- open its relative **Pull request** adding this test to our test suite.
        
        Quick example
        =============
        Let's create a new virtualenv with all we need::
        
            $ virtualenv example
            $ source example/bin/activate
            $ pip install pytest flask_breathalyzer[datadog]
        
        As second step, we create a test `example.py` file as the following one:
        
        .. code-block:: python
        
            from flask import Flask
            import datadog
        
            from flask_breathalyzer import Breathalyzer
        
        
            def test_example():
        
                app = Flask(__name__)
        
                @app.route("/")
                def boom():
                    1/0
        
                # from http://docs.datadoghq.com/api/
                options = {
                    'api_key': 'your-datadog-api-key',
                    'app_key': 'your-datadog-app-key'
                }
        
                ba = Breathalyzer(app, **options)
                response = test_client.get('/')
                assert response.status == '500 INTERNAL SERVER ERROR'
                assert b'<title>500 Internal Server Error</title>' in response.data
                assert response.mimetype == 'text/html'
                assert isinstance(ba.last_event_id, int)  # your exception is now on Datadog with this ID
        
        
        Let's fire our example test::
        
            $ py.test example.py
        
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Framework :: Flask
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
