Host a temporary HTTP server to receive a web-hook callback.
Project description
Receive
receive is a python library for hosting temporary web servers and receiving values from their route handlers via futures.
Install
Stable Release
pip install receive
Latest Features
pip install git+https://github.com/BlakeASmith/receive
Usage
Handle a GET request
First, define a route handler as follows:
import receive
@receive.get_request(route="/callback", port=5000)
async def get_query_param_from_request(req):
return req.query["code"]
The req parameter is an aiohttp.web.Request object. In this example
we return the code query parameter from the request.
Now we can start a temporary web server, and get our return value from the first request that comes in.
import asyncio
async def main():
future = await get_query_param_from_request()
code = await future
print(code)
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main)
The get_query_param_from_request function will start a web server in the background and return a asyncio.Future object providing access to the
return value from the handler. get_query_param_from_request will return immediately, and invoking
await on the returned future will block until a GET 0.0.0.0:5000/callback request hits the server. At that time the future will be completed with the
value returned from the request handler and the
server will be shutdown.
Tests
Run the unit tests using pytest
poetry install
poetry run pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file receive-0.1.1.tar.gz.
File metadata
- Download URL: receive-0.1.1.tar.gz
- Upload date:
- Size: 2.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.4.0-1047-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0c5e715c07cd8c317ce09bd0dc32f405e62067a041e80c9133d790aafc9b2aa
|
|
| MD5 |
69704258be59e5cf28d6b844b21b5515
|
|
| BLAKE2b-256 |
03f132cf78fa83c3709a32c8a4d5157681c695334f06df9a5d769a0e96ccd6f6
|
File details
Details for the file receive-0.1.1-py3-none-any.whl.
File metadata
- Download URL: receive-0.1.1-py3-none-any.whl
- Upload date:
- Size: 2.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.4.0-1047-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b03d1e83fef03d4f8bd5ee5724c54107848c8d6f1eb8c7d27da39bb10c2a89d
|
|
| MD5 |
13f4ff5821905909b8ef659660ba7dee
|
|
| BLAKE2b-256 |
7461e5ceda82b950ed9f276530fd6fb64b74291c12654c3b3f2ef2daf56a1032
|