Onion Model in Python. Pyton 洋葱模型
pip install compose4py
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
Copyright (2018-2020) 北京华夏春松科技有限公司
