Nirum服务作为WSGI应用
项目描述
Nirum服务作为WSGI应用
此包提供nirum_wsgi.WsgiApp类,该类将给定的Nirum服务适配到WSGI应用
from yourservice import YourService
from nirum_wsgi import WsgiApp
class YourServiceImpl(YourService):
...
app = WsgiApp(YourServiceImpl())
还有一个名为nirum-server的开发用途CLI启动器
nirum-server -H 0.0.0.0 -p 8080 --debug 'yourserviceimpl:YourServiceImpl()'
变更日志
版本 0.3.0
发布于2018年5月25日。
适用于Nirum 0.4.0编译器。通过LegacyWsgiApp支持由编译器生成的服务类实例,版本低于0.4.0。请注意,WsgiApp的构造函数检测由给定服务对象生成的编译器的版本,如果它低于0.4.0,则自动返回LegacyWsgiApp的实例而不是WsgiApp,以实现向后兼容。
对无效方法参数的响应变为具有更多字段名为errors,其中包含一个或多个错误。其格式如下
{ "message": "There are invalid arguments.", "errors": [ {"path": ".author.name", "message": "Expected a string."}, {"path": ".tags", "message": "Expected an array."} ] }
WsgiApp在Python 2中是一个旧式类。现在是一个新式类。在Python 3中没有变化(因为Python 3中没有旧式类)。
添加了MethodArgumentError以在方法参数的反序列化过程中存储多个错误。
WsgiApp.error()和WsgiApp.make_error_response()方法现在可以接受额外的关键字参数以扩展结果JSON对象。
版本 0.2.2
发布于 2018 年 3 月 20 日。
修复了一个运行时 TypeError,该错误在对应于 @http-resource 注释路径中查询字符串变量的参数具有可选类型时抛出。[由 Chang-soo Han 提出 #251]
版本 0.2.1
发布于 2018 年 3 月 20 日。
修复了一个运行时 re.error (sre_constants.error),该错误在 @http-resource 注释的 path 中查询字符串变量名称包含一个或多个连字符时抛出。[由 Chang-soo Han 提出 #250]
版本 0.2.0
发布于 2018 年 2 月 4 日。
允许省略具有可选类型的参数。[由 #205 提出]
添加了通过查询字符串模式进行方法调度的方法,例如,@http-resource(method="GET", path="/users?from={from}&to={to}")。[由 #130 提出]
通过 http-resource 注释,添加了通过路径模式(URI 模板)进行基本方法调度的功能,例如,@http-resource(method="GET", path="/users/{login}/works/{work-id}/")。[由 #130 提出]
为 WsgiApp 构造函数添加了 allowed_origins 和 allowed_headers 选项用于 CORS。它还支持简单的通配符(*)模式语法。
添加了 AnnotationError、NoJsonError 和 ServiceMethodError 异常。
由于返回不匹配返回类型的禁止值是服务器端造成的错误,因此这种情况的 HTTP 状态代码变为 500 Internal Server Error,而不是 400 Bad Request。现在它使用 logging 模块记录日志。
对于从具有非空返回类型的方法返回 None 的错误,现在它将显示一个更易于阅读和调试友好的消息,并带有适当的响应,而不是未捕获的 Python 异常。
WsgiApp.url_map 属性已删除。
/ping/ 资源已删除。
修复了 nirum-server 命令能够从当前工作目录(.;CWD)导入 Python 模块/包的问题。
版本 0.1.0
发布于 2017 年 7 月 10 日。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。