跳转到主要内容

Nirum服务作为WSGI应用

项目描述

Nirum服务作为WSGI应用

Build status Latest PyPI version

此包提供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_originsallowed_headers 选项用于 CORS。它还支持简单的通配符(*)模式语法。

  • 添加了 AnnotationErrorNoJsonErrorServiceMethodError 异常。

  • 由于返回不匹配返回类型的禁止值是服务器端造成的错误,因此这种情况的 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 日。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

nirum-wsgi-0.3.0.tar.gz (13.2 kB 查看哈希值)

上传时间

构建分布

nirum_wsgi-0.3.0-py2.py3-none-any.whl (11.0 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持