简单示例创建中间件有三种方法:类
装饰工
粘贴配置
类中间件:from wsgiref.simple_server import make_server
from storm.database import create_database
from middlestorm import MiddleStorm
def storm_app(environ, start_response):
store = environ['storm.store']
# ...
db = create_database('postgres://user:password@host/base')
app = MiddleStorm(storm_app, db)
make_server('', 8000, app).serve_forever()
装饰器中间件:from wsgiref.simple_server import make_server
from storm.database import create_database
import middlestorm
@middlestorm.decorator(create_database('postgres://user:password@host/base'))
def storm_app(environ, start_response):
store = environ['storm.store']
# ...
make_server('', 8000, storm_app).serve_forever()
要通过粘贴配置创建中间件,请在.ini中添加一节
文件:[filter:middlestorm]
use = middlestorm#middlestorm
db_uri = sqlite:myapp.db
然后将该过滤器添加到粘贴管道(同样,在.ini文件中):[pipeline:main]
pipeline =
middlestorm
myapp
默认情况下,存储在变量storm.store中。这可以定制:app = MiddleStorm(storm_app, db, key='custom.mystore')
或装饰风格:@middlestorm.decorator(db, key='custom.mystore')
def storm_app(environ, start_response):
store = environ['custom.mystore']
或在粘贴配置中:[filter:middlestorm]
use = middlestorm#middlestorm
db_uri = sqlite:myapp.db
key = myapp.store