Skip to main content

Create Flask application webhooks with attached handlers

Project description

# Flask-Webhook

Yet another Redis extension for Flask. `Flask-Webhook` makes use of Flask Blueprints and allows easy creation of application webhooks.

[![Latest Version](https://pypip.in/version/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![Downloads](https://pypip.in/download/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![Download format](https://pypip.in/format/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![License](https://pypip.in/license/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)


## Supported Platforms

* OSX and Linux.
* Python 2.7
* [Flask](http://flask.pocoo.org/) 0.10.1

Probably works with other versions as well.

## Quickstart

Install:
```bash
pip install Flask-Webhook
```

Example:
```python
from flask import Flask
from flask.ext.webhook import WebHook

app = Flask(__name__)

#create webhook object (name and app are optional)
#if app is not passed in in the constructor, my_webhook.init_app(app) is needed.
my_webhook = WebHook(name='optional_webhook_name', url_prefix='/webhooks' app=app)
my_webhook.add_route('/something', methods=['GET', 'POST'])

#define a function handler to be called by the webhook
def some_function(hookrequest):
do something with the request object received by the webhook

#attach your function handler to the webhook.
#you can attach as many as you want and they all are going to be called
# () should not be included
my_webhook.handlers['some_name_for_your_handler'] = some_function
```


## Factory Example

```python
# extensions.py
from flask.ext.webhook import WebHook

my_webhook = WebHook(url_prefix='/webhooks')
```

```python
# application.py
from flask import Flask
from extensions import my_webhook

def some_function(request):
do something

def some_other_function(request):
do something else

def create_app():
app = Flask(__name__)
my_webhook.add_route('/something', methods=['GET', 'POST'])
my_webhook.handlers['action1'] = some_function
my_webhook.handlers['action2'] = some_other_function
my_webhook.init_app(app)
return app
```

```python
# manage.py
from application import create_app

app = create_app()
app.run()
```

## Changelog

#### 0.1.0

* Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Webhook-0.1.0.tar.gz (3.7 kB view details)

Uploaded Source

File details

Details for the file Flask-Webhook-0.1.0.tar.gz.

File metadata

  • Download URL: Flask-Webhook-0.1.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Flask-Webhook-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be3510c0cb69edc34eeb34b3285fff5d6dc20fb573137c53cc70a90fb7d0473e
MD5 c32e2b076ed68da1604117a430d6f753
BLAKE2b-256 928329a9680779ec952f2cbb6ee2a9b48ea31daacfc64e9b862539c9af72998c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page