构建无头WSGI应用的工具包。
项目描述
骑手是一个构建WSGI应用的工具包。它经过了大量测试,并使用由Cython驱动的库。
其理念是:“你吃多少,就付多少”。
代码非常简洁,试图提供关键组件以构建更复杂的应用程序。
它符合WSGI标准,并允许您使用WSGI中间件。
示例
以下是一个裸骨API示例,处理对‘/’的GET请求,并返回JSON响应。
import logging
from bjoern import run
from horseman.meta import SentryNode, Overhead, APIView
from horseman.response import Response
class Request(Overhead):
data = None
def __init__(self, environ):
self.environ = environ
def extract(self):
self.data = 'somedata'
class View(APIView):
def GET(self, overhead):
return Response.to_json(200, {"Result": "OK"})
VIEWS = {
"/": View()
}
class RootNode(SentryNode):
def resolve(self, path_info, environ):
if view := VIEWS.get(path_info):
request = Request(environ)
return view(request)
def handle_exception(self, exc_info, environ):
logging.error(exc_info)
run(
host="0.0.0.0",
port=8080,
reuse_port=True,
wsgi_app=RootNode(),
)
变更
0.6 (2022-08-25)
主要更新。
通过放弃模仿MultiDict的尝试,简化了Data类的解析。解析不再将文件与表单数据分开,值存储为包含(名称,值)的元组列表。
已删除FormData、TypeCastingDict和Query类。
0.5 (2022-05-31)
多部分解析器不再向表单多字典中添加空值。
0.4 (2022-04-06)
修复了
FormData.to_dict
以处理空或false值。
0.3 (2022-04-05)
不再期望在environ中存在PATH_INFO。一些WSGI服务器在为空时不会提供它。
在Node的
__call__
中添加了路径归一化,以避免损坏的路径信息。
0.2 (2021-10-08)
首次上传到pypi。稳定版0.2。
0.1 (2021-10-08)
初始发布。
项目详情
关闭
horseman-0.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 66883d6f264e8b55cedc92199d92261a3be8580794948c735cc3d82f4afc7dfc |
|
MD5 | 9000133d0ec10b1295e65d8688ea5f0d |
|
BLAKE2b-256 | c7da6b284152278f02a035ef5de68175629274b016de0083f4d86ab6a9da79f0 |