Onion Model in Python
Project description
Compose4py
Onion Model in Python. Pyton 洋葱模型
pip install compose4py
Installation
Usage
Import compose4py
:
from compose4py import Compose
All the usual function composition you know and love:
def mw_1(ctx, loader_context):
print("mw_1: %s" % ctx)
print("mw_1 loader_context: %s" % loader_context)
ctx += ":mw1"
# call the next middleware and waiting the new ctx
ctx = yield ctx
# use the latest ctx and process more logic
ctx += ":post_mw1"
return ctx
def mw_2(ctx):
print("mw_2: %s" % ctx)
ctx += ":mw2"
ctx = yield ctx
ctx += ":post_mw2"
return ctx
def mw_3(ctx):
print("mw_3: %s" % ctx)
ctx += ":mw3"
return ctx
compose = Compose(mw_1, mw_2, mw_3, loader_context = {"foo": "bar"})
result = compose("foo")
print("final: %s" % result)
# final: foo:mw1:mw2:mw3:post_mw2:post_mw1
Give credits to
开源许可协议
Copyright (2018-2020) 北京华夏春松科技有限公司
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
compose4py-1.3.0.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for compose4py-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b27548432ebcc12ce37e50fdd7a01bb294a4a99b5ed610748b5600faa49eb6 |
|
MD5 | 3948f37a2b952f1e7be06d6e363f4826 |
|
BLAKE2b-256 | 83922d26ed64c6f5021c66dee5fe87e9b22c41dabefffa512a5df7bfcef4a79c |