A suite of sanic sanic_utils
Project description
sanic-utils
A suite of useful Sanic utilities
from_json
A decorator for Sanic endpoints to grab the json from the request and pass it in as a parameter. Default Sanic approach:
from sanic import Sanic, response
from sanic.request import Request
app = Sanic("App Name")
class ExampleInput:
name: str
identifier: str
@app.post("/test")
async def test(request: Request):
json = request.json
message = None # convert json to object in whatever prefered way
return response.text("done")
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8112)
Usage of the decorator:
from dataclasses import dataclass
from dataclasses_json import dataclass_json
from sanic import Sanic, response
from sanic.request import Request
from sanic_utils.from_json import from_json
app = Sanic("App Name")
@dataclass_json
@dataclass
class ExampleInput:
name: str
identifier: str
@app.post("/test")
@from_json(message_type=ExampleInput)
async def test(request: Request, message: ExampleInput):
print(message)
return response.text("done")
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8112)
Usage
Mark endpoint method with @from_json decorator passing in a single param, the resulting message type. The message type should be marked with @dataclass_json and @dataclass.
Dependencies
sanic 20.6.3
dataclasses 0.6
dataclasses-json 0.5.1
CONTRIBUTING
LICENSE
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 Distributions
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 sanic_utils-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sanic_utils-0.1.1-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
831623066d99c1ac10256c4ef257fca7c1547cfe709d378b85cf91b78349ab52
|
|
| MD5 |
2f8649daf0c8103eeb03a75f3c9c3864
|
|
| BLAKE2b-256 |
3aa58f08d614932b0650928b53d6d323ad3233fbff5f6a82f6c14f5208f790b0
|